您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關如何在vue項目中命名視圖,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
首先,一般情況下,我們在路由配置中,一個路由路徑只能對應一個組件,若想對應多個組件,必須得作為子組件存在,然后再一個公用的視圖內顯示,這是一個路由對應多個組件,這些組件對應一個視圖
例如:
{ path:'tv', name:'tv', component:Tv, children:[ {path:'',component:Zhonghe}, {path:'zhonghe',component:Zhonghe}, {path:'guochan',component:Guochan}, {path:'yingmei',component:Yingmei}, {path:'riju',component:Riju}, {path:'hanju',component:Hanju} ] },
那么,下面來介紹命名視圖:有時候想同時 (同級) 展示多個視圖,而不是嵌套展示,例如創建一個布局,有 sidebar (側導航) 和 main (主內容) 兩個視圖,這個時候命名視圖就派上用場了。你可以在界面中擁有多個單獨命名的視圖,而不是只有一個單獨的出口。如果 router-view
沒有設置名字,那么默認為 default。
<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>
一個視圖使用一個組件渲染,因此對于同個路由,多個視圖就需要多個組件。確保正確使用 components配置 (帶上 s):
const router = new VueRouter({ routes: [ { path: '/', components: { default: Foo, a: Bar, b: Baz } } ] })
解釋一下:
在這個默認路由下,
第一個非未命名視圖顯示Foo組件
第二個name名為a的視圖顯示Bar組件
第二個name名為b的視圖顯示Baz組件
然后自己有些了個demo
<template> <div class="hello"> <ul class="nav"> <li><router-link to="/list1">list1</router-link></li> <li><router-link to="/list2">list2</router-link></li> <li><router-link to="/list3">list3</router-link></li> </ul> <h7>默認視圖</h7> <div class="view"> <router-view></router-view> </div> <h7>a視圖</h7> <div class="view"> <router-view name="a"></router-view> </div> <h7>b視圖</h7> <div class="view"> <router-view name="b"></router-view> </div> </div> </template>
router配置:
routes: [ { path: '/', name: 'HelloWorld', component: HelloWorld, children:[ { path:'', components:{ default:List1, a:List2, b:List3 } }, { path:'list1', components:{ default:List1, a:List2, b:List3 } }, { path:'list2', components:{ default:List2, a:List1, b:List3 } }, { path:'list3', components:{ default:List3, a:List1, b:List2 } } ] } ]
看完上述內容,你們對如何在vue項目中命名視圖有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。