Vue.js 模板v-if=";主要的;,不使用返回此.route.path.indexOf(';/';)==0(在计算的";“主要”;

Vue.js 模板v-if=";主要的;,不使用返回此.route.path.indexOf(';/';)==0(在计算的";“主要”;,vue.js,vue-router,Vue.js,Vue Router,适用于我的其他路线,如“/仪表板”等,但在所有路线中都会出现。我基本上希望这个模板只出现在url为“/”时。我在整个项目中都试过了,只是李子不起作用。请帮忙,谢谢你!!谢谢你的建议 <template v-if="main"> <div id="accordion-nav"> <div class="accordion-panels"> <a href="/dashboard">Dashboard <i class="

适用于我的其他路线,如“/仪表板”等,但在所有路线中都会出现。我基本上希望这个模板只出现在url为“/”时。我在整个项目中都试过了,只是李子不起作用。请帮忙,谢谢你!!谢谢你的建议

<template v-if="main">
  <div id="accordion-nav">
    <div class="accordion-panels">
      <a href="/dashboard">Dashboard <i class="fa fa-caret-right" aria-hidden="true"></i></a>
    </div>
    <div class="accordion-panels">
      <a href="/shifts">Shifts <i class="fa fa-caret-right" aria-hidden="true"></i></a>
    </div>
    <div class="accordion-panels">
      <a href="/other">Other <i class="fa fa-caret-right" aria-hidden="true"></i></a>
    </div>
  </div>
</template>

<script>
export default {
  name: 'accordion-nav',
  computed: {
    main: function () {
      return this.$route.path.indexOf('/') === 0
    }
  }
}
</script>

<style scoped>
</style>

导出默认值{
名称:“手风琴导航”,
计算:{
main:函数(){
返回此值。$route.path.indexOf('/')==0
}
}
}
使用
v-if=“main”
作为方法,而不是计算属性

方法:{
main:函数(){
返回此值。$route.path.indexOf('/')==0
}


方法比计算属性做得更复杂更新。computed=lazy

在边栏组件本身中设置
v-if

'<template>
  <div id="sidebar" class="sidebar"
    :class="{ isOpen: isOpen }">
     <div class="sidebar-opener"
        @click="toggle">{{openerText}}</div>
     <accordion-nav v-if="main"></accordion-nav>
     <accordion></accordion>
   </div>
</template>'

<script>
export default {
  data () {
    return {

        }
  },
  computed:{
      main(){
          return this.$route.path === '/'
      }
  }
}
</script> 
'
{{openerText}

这是一个单独的组件。您在哪里使用此组件?{{openerText}@VamsiKrishna很抱歉在那里设置格式,但我在侧边栏中调用了它。vue组件。我也尝试过,但运气也不好。谢谢Reiner,这也可能会起作用,但尝试了Vamsi自向组件提出问题以来的第一次尝试。