有時候想同時(同級)展示多個視圖,而不是嵌套展示,例如創(chuàng)建一個布局,有 sidebar(側(cè)導(dǎo)航) 和 main(主內(nèi)容) 兩個視圖,這個時候命名視圖就派上用場了。你可以在界面中擁有多個單獨命名的視圖,而不是只有一個單獨的出口。如果 router-view 沒有設(shè)置名字,那么默認為 default。
如果按照他解釋的這么簡單的話,完全可以在根組件app.vue里直接引入sidebar組件,注冊,渲染。沒必要多此一舉。既然可以在route.config.js里面靈活配置,那就可以靈活的用。官網(wǎng)的例子:
<router-view class="view one"></router-view> <router-view class="view two" name="a"></router-view> <router-view class="view three" name="b"></router-view> const router = new VueRouter({ routes: [ { path: '/', components: { default: Foo, a: Bar, b: Baz } } ] })
在app.vue里面可以多注冊幾個命名視圖,就可以
<template> <div id="app"> <router-view></router-view> <router-view name="nav"></router-view> <router-view name="side"></router-view> </div> </template>
{ path: '/home', name: 'Home', components: { default: Home, nav: Nav,//不給的話就不渲染 side: Side }, children: [ { path: '/', component: Home },//不給的話就匹配不到子組件,就不渲染 { path: 'post', component: Post } ] }
一、簡單的命名視圖(就是點擊不同的路由跳轉(zhuǎn)后來實現(xiàn)顯示多個組件內(nèi)容)
效果:
二、嵌套路由視圖(同時滿足嵌套路由的規(guī)則,還要滿足視圖的規(guī)則)
若有不足請多多指教!希望給您帶來幫助!
總結(jié)
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com