像this question,我要动态地添加UI路由器状态时动态增加状态,但我不知道如何做到这一点给出如下:角UI路由器:未配置
我们先从一个小允许用户导航登录过程的路线集(最多5个):用户登录(多步登录过程),然后选择他们想要使用的产品类型和角色(假设用户具有多个产品类型/角色否则他们会绕过这个观点)。在这一点上,我想出去我的服务,并获得用户有权访问的路由列表,给定用户标识,产品类型,&角色 - 我打算发送一个非常匹配的数据结构数组提供给$stateProvider.state(...)
。
在我的app.run.js中,我正在检查$rootScope.$on("$stateChangeStart"
并将用户从视图中移到多步骤登录过程中查看,因此知道何时需要到我的服务中以加载可用路线。
当路由被加载时,我可能会在cookie中放置一个标志来表明它已经正确加载了这个用户/产品/角色。
我不认为一个提供者真的在这里有道理,因为我不想在config上加载路由。它感觉不对(不知道为什么)调用服务来加载stateChangeStart中的路由。
这种方法合理吗?
注:我也看到有一个outstanding request能够从$ stateProvider删除状态。在这个请求被执行的同时,我们如何清除$ stateProvider的路由(除了浏览器刷新)?