v-show 和 v-if 控制显示与隐藏。
两者区别:
v-show:css样式display:none控制是否显示
v-if:直接移除or添加DOM元素,性能差
解决方案一:
<myFooter v-show="$route.path=='/home' || $router.path=='/search' "></myFooter>
若true为显示,false为隐藏。但页面太多时有些混乱...
解决方案二:路由元信息meta
1、路由器配置路由元信息——meta
routes: [
{
path: '/home',
component: Home,
meta: { show: true }
}, {
path: '/login',
component: Login,
meta: { show: false }
},
2、子组件使用时,$route.meta.show 控制是否显示
<Footer v-show="$route.meta.show"></Footer>