如何使用angularjs處理動態菜單
3 回答

POPMUISE
TA貢獻1765條經驗 獲得超5個贊
思路:只要根據用戶角色 顯示該角色可以訪問的菜單即可,在每次路由切換的時候判斷下是否有訪問此路由的權限,沒有就跳轉到指定頁面即可。
如果要想根據角色動態生成路由,可以在angular還沒有啟動的時候獲取該用戶角色的所有路由(也可以說菜單),然后循環菜單 通過 ui-router動態加入即可;
一般項目把所有的js和模板都打包壓縮成一個js,反而效果更好;

森欄
TA貢獻1810條經驗 獲得超5個贊
按照ui-router或者什么來配置路由,完全可以自己實現一個功能加載器:
$stateProvider
//動態菜單
.state("Menu", {
url: "/menu/:code",
templateUrl: "modules/menuloader.html"
});
然后這個menuloader.html里面,只放一個ng-include,它的地址關聯到一個動態變量,這個變量根據傳入的那個code去讀取。
在這個state的resolve里面,根據code獲取到菜單對應的html地址,js地址,然后用動態加載控制器的方式把js加載完成,然后把html地址賦值給上一段里提到的那個變量。
這樣,你就沒有定義多個路由,而是直接用一個路由的配置完成了所有的動態獲取過程,菜單以后可以任意無限加,不用改任何公共代碼。
- 3 回答
- 0 關注
- 1091 瀏覽
添加回答
舉報
0/150
提交
取消