簡體   English   中英

Angular ui-router:在配置期間不動態添加狀態

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM