Vue嵌套路由

前言

想象一下杀狡,這里有一個(gè)組件,組件頂部是三個(gè)按鈕贰镣,主體是展示區(qū)域呜象,通過(guò)按鈕可以切換展示區(qū)域不同的組件(也可以是同一組件,這取決于你)并展示不同的內(nèi)容碑隆。大組件嵌套小組件恭陡,并且大組件也是通過(guò) <router-view>渲染的。那這種組件嵌套組件的形式上煤,是如何實(shí)現(xiàn)的呢子姜?

嵌套路由

如果你有一定經(jīng)驗(yàn)。想必已經(jīng)有答案了楼入。但還是有必要說(shuō)一說(shuō)。

回顧一下我們?cè)谄鸩綍r(shí)牧抽,<router-view>所放置的位置嘉熊,是在App.vue文件里。因?yàn)?code>App.vue是項(xiàng)目根組件扬舒,其<router-view>屬于第一級(jí)別阐肤,那有沒有第二、第三級(jí)別的<router-view>呢?答案是有的孕惜。

先來(lái)明確一個(gè)概念愧薛,<router-view>與路由表中的路徑是對(duì)應(yīng)的,一般還是一一對(duì)應(yīng)的衫画。

// 路由表
const routes = [
  {
    path: '/home',
    name: 'Home',
    component: Home
  },
  {
    path: '/about',
    name: 'About',
    component: About
  }
]

正如上面代碼顯示的毫炉,Home組件對(duì)應(yīng)路徑/home。如果存在第二級(jí)<router-view>削罩,那是不是也存在與他匹配的路由路徑瞄勾?

Vue 的設(shè)計(jì)就是如此顯而易見且符合邏輯。路由的級(jí)別與它自身的嵌套層級(jí)一一對(duì)應(yīng):

// 路由表
const routes = [
 {
   path: '/home',
   name: 'Home',
   component: Home,
   children: [
     {
       path: '/about',
       name: 'About',
       component: About
     },
     {
       path: '/detail',
       name: 'Detail',
       component: Detail
     }
 },
]

我們將上面的路由表稍微做了一下改變弥激,在/home路徑下新增一個(gè)children的路由列表进陡,并將/about放在了children里,這意味著/about路由成為了/home的子路由微服,當(dāng)我們?cè)贖ome組件內(nèi)部任意位置使用一個(gè)<router-view>時(shí)趾疚,這個(gè)<router-view>會(huì)自動(dòng)去匹配與它對(duì)應(yīng)的二級(jí)路由。

我們繼續(xù)在/about下新增一個(gè)/detail路由以蕴。在/home內(nèi)部使用兩個(gè)<router-link>標(biāo)簽:

<router-link to="/about"  />
<router-link to="/detail"  />

當(dāng)點(diǎn)擊這兩個(gè)標(biāo)簽時(shí)糙麦,其會(huì)自動(dòng)切換到對(duì)應(yīng)路由所對(duì)應(yīng)的組件,About組件與Detail組件相繼被渲染和切換舒裤。這兩個(gè)組件是嵌套在Home組件內(nèi)部的子組件喳资。

當(dāng)然,這種嵌套是允許更深層次的嵌套的腾供,但若不是項(xiàng)目需要仆邓,請(qǐng)不要這么做,這樣會(huì)讓路由表層級(jí)太深伴鳖,不利于維護(hù)节值。

我的嵌套路由案例

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市榜聂,隨后出現(xiàn)的幾起案子搞疗,更是在濱河造成了極大的恐慌,老刑警劉巖须肆,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件匿乃,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡豌汇,警方通過(guò)查閱死者的電腦和手機(jī)幢炸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拒贱,“玉大人宛徊,你說(shuō)我怎么就攤上這事佛嬉。” “怎么了闸天?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵暖呕,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我苞氮,道長(zhǎng)湾揽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任葱淳,我火速辦了婚禮钝腺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘赞厕。我一直安慰自己艳狐,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布皿桑。 她就那樣靜靜地躺著毫目,像睡著了一般。 火紅的嫁衣襯著肌膚如雪诲侮。 梳的紋絲不亂的頭發(fā)上镀虐,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音沟绪,去河邊找鬼刮便。 笑死,一個(gè)胖子當(dāng)著我的面吹牛绽慈,可吹牛的內(nèi)容都是我干的恨旱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼坝疼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼搜贤!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起钝凶,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤仪芒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后耕陷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體掂名,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年哟沫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了饺蔑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡南用,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情裹虫,我是刑警寧澤肿嘲,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站筑公,受9級(jí)特大地震影響雳窟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜匣屡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一封救、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧捣作,春花似錦誉结、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至也拜,卻和暖如春以舒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背慢哈。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工蔓钟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人卵贱。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓滥沫,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親艰赞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子佣谐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 寫在前面:本人前端小菜一枚,下訴如有不對(duì)方妖,望各位大佬指出狭魂。1.什么是嵌套路由。我們通常會(huì)在app.vue 中 <r...
    老街老街閱讀 387評(píng)論 0 0
  • 步驟:1、創(chuàng)建一個(gè)父路由對(duì)應(yīng)的組件User.vue杯瞻。2镐牺、創(chuàng)建兩個(gè)子路由對(duì)應(yīng)的組件UserInfo.vue、User...
    msqt閱讀 3,643評(píng)論 0 1
  • 一魁莉、使用的方法和組件: 1睬涧、new VueRouter({}) 多個(gè)配置項(xiàng) 2募胃、routes[] 一般路由 3、p...
    名字只是代號(hào)_45a3閱讀 497評(píng)論 0 1
  • 1畦浓、嵌套路由的了解 嵌套路由痹束,主要是由我們的頁(yè)面結(jié)構(gòu)所決定的,當(dāng)我們進(jìn)入一個(gè)頁(yè)面的時(shí)候讶请,如果此時(shí)下面還有一些分類導(dǎo)...
    聽書先生閱讀 2,033評(píng)論 0 12
  • 嵌套路由本身很簡(jiǎn)單祷嘶,官方文檔描述也都很仔細(xì)。 官方文檔入口[https://router.vuejs.org/zh...
    RadishHuang閱讀 2,215評(píng)論 0 1