2015-12-14 73 views
1

我想从控制器调用的服务方法中的下面的代码打开引导模式。角控制器自举模式

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)。有没有更好的方法来实现这个功能?

+0

有可能是一个“好”的方式,但我喜欢你做了什么(除了忘记DynamicController其他参数在openModal上) – jbrown

回答

0

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' 
    });