模板 v-if="main",不适用于 return this.$route.path.indexOf('/') === 0 in computed "main"
template v-if="main", not working with return this.$route.path.indexOf('/') === 0 in computed "main"
适用于我的其他路线,如“/dashboard”等,但出现在所有路线中。我基本上希望此模板仅在 url 为“/”时出现。在我的整个项目中都尝试过,但 plum 不起作用。请帮忙,谢谢!任何建议。
<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>
使用 v-if="main"
作为方法 v-if="main()"
而不是计算 属性
methods: {
main: function () {
return this.$route.path.indexOf('/') === 0
}
与计算属性相比,方法可以更好地完成此类复杂的更新。计算=懒惰
在边栏组件本身中设置 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>
使用 this.$route.path
你会得到一个字符串,它等于当前路由的路径,在你的应用程序的任何组件中解析为绝对路径。
所以你可以使用它来检查你是否在根路由中:
this.$route.path === '/'
适用于我的其他路线,如“/dashboard”等,但出现在所有路线中。我基本上希望此模板仅在 url 为“/”时出现。在我的整个项目中都尝试过,但 plum 不起作用。请帮忙,谢谢!任何建议。
<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>
使用 v-if="main"
作为方法 v-if="main()"
而不是计算 属性
methods: {
main: function () {
return this.$route.path.indexOf('/') === 0
}
与计算属性相比,方法可以更好地完成此类复杂的更新。计算=懒惰
在边栏组件本身中设置 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>
使用 this.$route.path
你会得到一个字符串,它等于当前路由的路径,在你的应用程序的任何组件中解析为绝对路径。
所以你可以使用它来检查你是否在根路由中:
this.$route.path === '/'