栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

AngularJS-UI路由器-以编程方式添加状态

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AngularJS-UI路由器-以编程方式添加状态

请参阅-edit-以获取最新信息。

通常,状态会

$stateProvider
在配置阶段添加到中。如果要在运行时添加状态,则需要保留对
$stateProvider
周围的引用。

该代码未经测试,但是应该做您想要的。它创建一个名为的服务

runtimeStates
。您可以将其注入运行时代码,然后添加状态。

// config-time dependencies can be injected here at .provider() declarationmyapp.provider('runtimeStates', function runtimeStates($stateProvider) {  // runtime dependencies for the service can be injected here, at the provider.$get() function.  this.$get = function($q, $timeout, $state) { // for example    return {       addState: function(name, state) {         $stateProvider.state(name, state);      }    }  }});

我已经在UI-Router Extras中实现了一些称为FutureStates的东西,这些东西为您处理了一些特殊情况,例如将url映射到尚不存在的状态。FutureStates还显示了如何延迟加载运行时状态的源代码。看一下源代码,以了解其中涉及的内容。

-edit-适用于UI-Router 1.0+

在UI-Router 1.0中,可以使用

StateRegistry.register
和在运行时注册和注销状态
StateRegistry.deregister

要访问StateRegistry,请将其作为

$stateRegistry
注入,或
$uiRouter
通过注入和访问
UIRouter.stateRegistry

UI-Router 1.0还提供了开箱即用的Future States,可以处理状态定义的延迟加载,甚至可以通过URL进行同步。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/432346.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号