有時(shí)候想同時(shí)(同級(jí))展示多個(gè)視圖,而不是嵌套展示,例如創(chuàng)建一個(gè)布局,有 sidebar(側(cè)導(dǎo)航) 和 main(主內(nèi)容) 兩個(gè)視圖,這個(gè)時(shí)候命名視圖就派上用場(chǎng)了。你可以在界面中擁有多個(gè)單獨(dú)命名的視圖,而不是只有一個(gè)單獨(dú)的出口。如果 router-view 沒(méi)有設(shè)置名字,那么默認(rèn)為 default。
如果按照他解釋的這么簡(jiǎn)單的話,完全可以在根組件app.vue里直接引入sidebar組件,注冊(cè),渲染。沒(méi)必要多此一舉。既然可以在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里面可以多注冊(cè)幾個(gè)命名視圖,就可以
<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 } ] }
一、簡(jiǎn)單的命名視圖(就是點(diǎn)擊不同的路由跳轉(zhuǎn)后來(lái)實(shí)現(xiàn)顯示多個(gè)組件內(nèi)容)
效果:
二、嵌套路由視圖(同時(shí)滿足嵌套路由的規(guī)則,還要滿足視圖的規(guī)則)
若有不足請(qǐng)多多指教!希望給您帶來(lái)幫助!
總結(jié)
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com