![](/img/trans.png)
[英]Angular ui-router dynamically add resolve function to all states
[英]Angular ui-router: dynamically add states not during config
像這個問題一樣,我想動態添加ui-router狀態,但是由於以下原因,我不確定如何做到這一點:
我們從一小部分路線(最多5條)開始,這些路線允許用戶導航登錄過程:用戶登錄(多步登錄過程),然后選擇他們要使用的產品類型和角色(假設用戶擁有的產品數量超過一種產品類型/角色,否則他們將繞過此視圖)。 那時,我想去我的服務並獲取用戶有權訪問的路由列表,給定用戶ID,產品類型和角色-我計划發送與數據非常匹配的一系列數據結構提供給$stateProvider.state(...)
在我的app.run.js中,我正在檢查$rootScope.$on("$stateChangeStart"
並在多步登錄過程中將用戶從一個視圖移到另一個視圖,因此知道何時需要使用服務加載可用的路線。
加載路由后,我可能會在cookie中放置一個標志,以表明已為該用戶/產品/角色正確加載了路由。
我不認為提供程序在這里真的有意義,因為我不希望在config中加載路由。 調用服務以將路由加載到stateChangeStart中感覺不對(不確定為什么)。
這種方法合理嗎?
注意:我還看到有一個未完成的請求 ,希望能夠從$ stateProvider中刪除狀態。 在此請求實現之前,我們如何清除$ stateProvider的路由(除了刷新瀏覽器之外)?
為了在配置階段之后添加狀態,您應該使用ui-router-extra
軟件包中的Future State功能。
由於沒有官方支持刪除路由,您可能可以合並到此PR中以使操作正常進行,但是您還必須添加功能以從urlRouterProvider
刪除條件,因為那是該PR的一個錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.