vuejs diabled nav和sidebar

时间:2017-12-14 06:48:33

标签: vue.js router vue-router

我知道我不应该将navpart和sidepart放在app.vue中 现在我做了一个登录页面,当在登录页面时,导航部分和侧面部分被隐藏。 我在两个标签中写了一个v-if指令。 在登录页面时,这两部分是隐藏的。但登录后,这两部分仍然是隐藏的。我不知道问题出在哪里?

路由器:

{
  path: '/components/login',
  name: 'login',
  component: login
},
{
  path: '/components/userlist',
  name: 'userlist',
  component: userlist
},

app.vue:

<template>
  <div id="app">
    <!-- <headpart class="headpart" ></headpart>
    <sidebar class="side" ></sidebar> -->

    <headpart class="headpart" v-if="['login'].indexOf($router.name) > -1"></headpart>
    <sidebar class="side" v-if="['login'].indexOf($router.name) > -1"></sidebar>
    <router-view></router-view>
  </div>
</template>

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

你有一个错字:$ router.name应该是$ route.name

<headpart class="headdart" v-if="['login'].indexOf($router.name) > -1"></headpart>

另外,对于它的价值,我认为这也有效:

<headpart class="headpart" v-if="$route.name != 'login' "></headpart>