vue-router設置多級路由那些事

兩天沒有接著寫這個文檔了,主要是在路由這塊,多極路由嵌套,沒有仔細看文檔,走了不少彎路,

官網:https://router.vuejs.org/zh-cn/essentials/nested-routes.html

項目源碼:GitHub - jianshidaima/admin: vue2全家桶開發商戶管理后臺

先說說? 我遇到的麻煩吧,

1、對與側邊欄導航展示

根路由:’/’,

一級路由:’/goos’

二級路由:’goodsList’

細心地同學會發現,在二級路由里沒有 “/”這個符號,然而這就是我遇到的第一個麻煩,來看看官網給的例子:?


這下似乎明白了,只有根路徑? 才會加上“/”,其二級,三級..都不需要加上“/”

在說明一點:在設置路由的時候,盡量把name設置成path的值,在meta里加上需要的name值,就像這樣:


這樣方便的地方就是 在router-link配置to的時候用:to=‘{name:""}',這樣更容易匹配路由

2、把所有的路由,都寫在 src/router/index.js里這樣是不是太難維護了,而且有的路由,是從服務器上獲取的,如何添加上呢?

于是一番百度,發現了一個addRoutes;

router.addRoutes(routes)

2.2.0+

動態添加更多的路由規則。參數必須是一個符合 routes 選項要求的數組。

接下來 我把我寫的路由分成不同的模塊文件,然后再APP.vue跟組件統一添加到路由上,想法很好,現在去實現吧!

路由模塊文件結構:


router/index.js:?


router/leftSlider.js:?


router/portal/index.js:?


router/portal/forget.js:?


router/portal/register.js:?


在跟組件 app.vue里將路由模塊掛在到路由上:?


到這里路由,全部掛在!大功告成。

重啟服務:npm run dev 在地址欄輸入:http://localhost:8080/#/portal/forget


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容