大佬教程收集整理的这篇文章主要介绍了angularjs – 是否可以替换/覆盖ui-router状态定义? (默认状态由另一个模块“定制”),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的用例是一个模块定义了状态,我希望能够从不同的模块中替换该状态定义.基本上,初始定义是一个“默认”定义,我希望有可能从不同的模块定制状态.
我意识到在配置时执行此操作可能会导致模块首先定义它的竞争条件.我研究了在运行时进行此操作的可能性,但无法使其正常工作.
我可以通过创建全新的状态来完成我想要的任务,但我想使用原始状态中的相同URl.
编辑:
angular.module('module1',['ui.router']) .con@L_607_4@(['$stateProvider',function($stateProvider){ $stateProvider .state('root',{ url: '',abstract: true,template: '<div class="layout sub" ui-view="sub"></div>' }) .state('root.sub1',{ url: '/sub1',views: { 'sub@root': { template: '<p>Default sub state 1</p>' } } }); }]); angular.module('module2',function($stateProvider){ $stateProvider .state('root.sub1',{ url: '/sub2',views: { 'sub@root': { template: '<p>Customized sub state 1</p>' } } }); }]);
当然这给出了“错误:状态’root.sub1”已经定义了”
angular.module('module2',['ui.router']) .run(['$state',function($statE){ var state = $state.get('root.sub1'); if(state && state.views && state.views['sub@root']){ state.views['sub@root'].template = '<p>Customized sub state 1</p>'; } }]);
Plnkr:http://plnkr.co/edit/xLdCgjeM33z2Hf5CHfZR
编辑:
我发现它在我的应用程序中无效,因为我没有定义我想在原始状态下覆盖的视图.
示例(不起作用):
angular.module('module1',views: { } }); }]); angular.module('module2',function($statE){ var state = $state.get('root.sub1'); if(state && state.views){ state.views['sub@root'] = { template: '<p>Customized sub state 1</p>' }; } }]);
以上是大佬教程为你收集整理的angularjs – 是否可以替换/覆盖ui-router状态定义? (默认状态由另一个模块“定制”)全部内容,希望文章能够帮你解决angularjs – 是否可以替换/覆盖ui-router状态定义? (默认状态由另一个模块“定制”)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。