我将Vue.js应用与vue-router结合使用,分为3部分:
App.vue:
<template>
<div id="app">
<head>
</head>
<NavbarComp/>
<div>
<div class="middle">
<router-view/>
</div>
</div>
<FooterComp/>
</div>
</template>
<NavbarComp/>
包含一个登录按钮,我只想在登录页面上显示该按钮:
<template>
<div>
<nav>
<router-link to="/" >
<h3>My Shining app </h3>
</router-link>
<router-link to="/login">
<button v-if="section='landing'"> Login</button>
</router-link>
</nav>
</div>
</template>
我试图在商店中定义一个section
,并将该部分定义为每个组件上的计算属性:
section () {
this.$store.section = 'login';
}
但无法成功。因此,感谢您的提示。
答案 0 :(得分:1)
将按钮上的v-if
更改为:
v-if="this.$route.name === 'whatever-your-route-name-is'" // 'landing' according to your comment