1.因为每个页面都有head和侧栏,所以我把这两部分写在app.vue里面了
2.然而现在要做登录页,登录页不需要head和侧栏这两部分
3.我使用v-if控制了一下,登录页到是没有这两部分了,进去之后也没有了,不知道哪里写错了
路由设置(截取了中间部分):
{
path: '/components/login',
name: 'login',
component: login
},
{
path: '/components/userlist',
name: 'userlist',
component: userlist
},
app.vue(v-if是我加的控制,但是会造成登录页这两部分没有,登录进去后也没有):
<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>
进去之后:
因为你是路由跳转。他只更新了router-view页面。router-view以外的元素则不在渲染,
通过监听路由地址的变化改变变量,再有变量控制是否显示头部的等。