角控制器自举模式
问题描述:
我想从控制器调用的服务方法中的下面的代码打开引导模式。角控制器自举模式
openModal(type){
this.$modal.open({
animation: this.$rootScope.animationsEnabled,
templateUrl: '../app/components/'+type+'/'+type+'.html',
controller: DynamicController,
controllerAs: 'vm'
});
}
,将模态通过点击下面的链接激活。
<li><a href ng-click="openModal('signup','LoginController')">Sign In</a></li> {{test}}
<li><a href ng-click="openModal('signup','SignupController')">Sign Up</a></li>
我想让模态根据点击的链接使用相应的控制器(代替DynamicController)。有没有更好的方法来实现这个功能?
答
Angular UI bootstrap的模态允许在控制器属性中传递一个字符串。如果你需要的控制器传递的值更多的控制,我建议你这样说:
openModal(type, controller){
this.$modal.open({
animation: this.$rootScope.animationsEnabled,
templateUrl: '../app/components/'+type+'/'+type+'.html',
controller: function(){
return controller || 'DefaultController'
},
controllerAs: 'vm'
});
有可能是一个“好”的方式,但我喜欢你做了什么(除了忘记DynamicController其他参数在openModal上) – jbrown