unplugin-vue-router如何在同级展示多个视图

unplugin-vue-router如何在同级展示多个视图

官网router可以同级展示多个命名视:有时候想同时 (同级) 展示多个视图,而不是嵌套展示,例如创建一个布局,有 sidebar (侧导航) 和 main (主内容) 两个视图,这个时候命名视图就派上用场了。你可以在界面中拥有多个单独命名的视图,而不是只有一个单独的出口。如果 router-view 没有设置名字,那么默认为 default。

template



一个视图使用一个组件渲染,因此对于同个路由,多个视图就需要多个组件。确保正确使用 components 配置 (带上 s):

js
const router = createRouter({
history: createWebHashHistory(),
routes: [
{
path: ‘/’,
components: {
default: Home,
// LeftSidebar: LeftSidebar 的缩写
LeftSidebar,
// 它们与 <router-view> 上的 name 属性匹配
RightSidebar,
},
},
],
}),

unplugin-vue-router如何实现同样功能?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
Brian 2024-11-20 12:33:08

https://git.imooc.com/class-163/unplugin-vue-router-demo 代码


上面写错了,不是在layout里面创建

Brian 2024-11-20 12:27:50

你来试试:

src/pages/
│   ├── default.vue         # 默认视图
│   ├── LeftSidebar.vue     # 左侧边栏
│   └── RightSidebar.vue    # 右侧边栏
└── Home.vue                # 主视图

然后在layout/default.vue中:

<template>
  <div>
    <router-view name="other" />
    <router-view name="LeftSidebar" />
    <router-view name="RightSidebar" />
  </div>
</template>

然后打印一下routes

https://img1.sycdn.imooc.com/climg/673d651e09d66a3909310287.jpg


代码截图:

https://img1.sycdn.imooc.com/climg/673d65060975cb8719321716.jpg


效果截图:

https://img1.sycdn.imooc.com/climg/673d65450994d85805480277.jpg

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端高级工程师(大前端)
  • 参与学习       303    人
  • 解答问题       391    个

全新打造“技术成长&职业破局”双高体系,深度打通“全栈 + 全流程 +多端+ 提效+AI赋能”,递进式锤炼思维与高阶技能,高效实现能力跃迁,助力成为“驾驭全局,深广兼备,打通多端全栈”的高级工程师

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师