Vue中的路由嵌套是指通過子路由的方式,在一個父路由下添加多個子路由,以達到更加靈活的頁面跳轉和組織。在Vue中,路由嵌套非常簡單實用,只需在定義父路由時,添加一個“children”字段,指定子路由即可。下面我們通過代碼來看看如何實現路由嵌套。
// 定義父路由 const router = new VueRouter({ mode: 'history', routes: [ { path: '/', name: 'home', component: Home, children: [ // 定義子路由1 { path: 'child1', name: 'child1', component: Child1 }, // 定義子路由2 { path: 'child2', name: 'child2', component: Child2 } ] }, ] })
在上面的例子中,通過定義父路由“/”和兩個子路由“/child1”和“/child2”,就實現了一個簡單的嵌套路由。父路由的組件為Home,子路由1的組件為Child1,子路由2的組件為Child2。此時,在訪問“/child1”時,Vue就會在Home組件中渲染Child1組件,而不是在路由根目錄下渲染Child1組件。同樣的,訪問“/child2”時,就會在Home組件中渲染Child2組件。
除了嵌套路由的定義方式不同外,其它使用方式與普通路由一致。我們可以在組件中通過this.$router.push()來切換路由,也可以在模板中使用
Go to Child1 Go to Child2
上面的模板代碼中,我們分別定義了兩個
嵌套路由還支持更加復雜的場景,比如嵌套多級路由、使用命名視圖等。嵌套多級路由的定義方式與上面類似,只需在對應的父路由中添加子路由即可。而命名視圖則允許在同一個組件中同時渲染多個路由,以達到更加靈活的組織方式。這些內容就超出了本文的范圍,在學習Vue路由時可以深入了解。