最近在做公司后台管理系統的時候,涉及到了權限,在通過后台獲取到數據后使用router.addRoutes()時不起作用,最終發現左側菜單組件中的路由是根據this.$router.options.routes來渲染的,最終使用了Vuex中的數據來渲染的;
this.$router.options.routes說明:options是傳遞給vuerouter構造函數的對象,之后沒有修改(也就是vue實例化時在router.js中定義的那些路由),所以通過動態添加的路由是不會顯示在options.routes中的,Vue就是這么設計的。所以需要將動態添加的路由存儲在Vuex或者其他地方。
可參考此鏈接:https://segmentfault.com/q/1010000021000331/a-1020000021000766
項目說明:后台項目使用的是vue-admin-template,上面截圖的文件目錄路徑:‘項目根目錄/src/layout/components/Sidebar/index.vue’文件中