vue router-view 问题

现有一个老项目
结构是这样的
app.vue:

<div id="app">
    <Header />
    <Menu />
    <router-view></router-view>
</div>

header和menu组件是一些菜单,就是一个常规的后台项目,点击菜单,router-view里面的组件会切换。

现在有一个需求,要给外部门提供项目里其中的一个页面,但不要显示header和menu,怎么能提供一个独立的地址给别人呢?
怎么写router的配置文件...

阅读 3.3k
4 个回答
  1. 导航跟地址没关系,只要你 router 里面能解析,打开就能看到东西。
  2. 可以通过计算属性+this.$route.name 来隐藏侧边栏和菜单
// 弄个变量 例:xxxxx
<div id="app">
    <Header v-if="xxxxx"/>
    <Menu v-if="xxxxx"/>
    <router-view></router-view>
</div>

你配置一个跟app.js同级的路由(例如一个登陆页不含头部菜单)

{
    path: '/login',
    name: 'Login',
    component: () => import('...')
    
 },
{
    path: '', //(app.js 主入口 可以拆分出去)
    component: App,
    children: [ //outer-view里面的组件会切换页面
        {
            ...
        }
    ]
 }
新手上路,请多包涵

地址url可以带上一个特定标识参数,head/menu使用v-if进行条件判断,如果url有特定标识则不显示

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题