1. 应用场景
有时候想同时 (同级) 展示多个视图,而不是嵌套展示,例如创建一个布局,有 sidebar (侧导航) 和 main (主内容) 两个视图,这个时候命名视图就派上用场了。
2. 同级的用法
路由信息表
一个视图使用一个组件渲染,因此对于同个路由,多个视图就需要多个组件。确保正确使用
components配置 (带上 s):
根组件
页面效果
3. 嵌套的用法
实现以下布局
/settings/emails /settings/profile
+-----------------------------------+ +------------------------------+
| Settings | | Settings |
| +-----+-------------------------+ | | +-----+--------------------+ |
| | Nav | Email | | +------------> | | Nav | Profile | |
| | +-------------------------+ | | | +--------------------+ |
| | | | | | | | ProfileView | |
| +-----+-------------------------+ | | +-----+--------------------+ |
+-----------------------------------+ +------------------------------+
Nav只是一个常规组件。Settings是一个视图组件。Email、Profile、ProfileView是嵌套的视图组件。
路由信息表
Settings.vue 视图组件
Nav.vue 常规组件
可以注意到:
<router-view>和<router-link>并不在同一个组件中,<router-view>仅仅是为 子路由组件 占个位而已,至于从哪里<router-link>则没有特别要求
剩下的三个组件 Email,Profile,ProfileView 正常写就行,没有特别要求