使用控制器作为uibModal控制器

时间:2016-09-21 08:12:12

标签: angularjs angular-ui-router angular-ui-bootstrap angular-ui

所以我正在开发一个名为" ShowTree"的模块。 在此之前,我有一个名为" InviteUserCtrl"的控制器。在ShowTree模块中,有一个按钮,用于显示用于添加新用户的uibModal。

基本上,ShowTreeCtrl中的uibModal与InviteUserCtrl完全相同。因此,我决定将InviteUserCtrl注入uibModalController而不是将所有代码从InviteUserCtrl复制粘贴到新的uibModalController。

问题是我无法使用InviteUserCtrl作为我的uibModalController

这是我在ShowTree list.html中的html代码

<div ng-controller="inviteUserCtrl as vm">
  <script type="text/ng-template" id="inviteUser.html">
    <div class="modal-header">
     <h3 class="modal-title">Invite User</h3>
    </div>
    <div class="modal-body">
      <span ng-include="'app_view/modules/invite_user/form.html'"></span>
      <br><br>
    </div> 
    <div class="modal-footer">
      <button class="btn btn-warning" type="button" ng-click="vm.cancel()">Back</button>
    </div>
  </script>
</div>

这是我的ShowTreeCtrl中的代码

function open(size){
var modalInstance = $uibModal.open({
    animation : true,
    templateUrl: 'inviteUser.html',
    controller: 'inviteUserCtrl as vm',
    size: size,
});
}

我也在使用ui-router。这是我在路由器中的代码

.state('app.show_tree', {
url: '/show_tree/:action/:id',
templateUrl: base_view_url+'modules/show_tree/index.html',
data : { title: 'Show Tree' },
controller : "showTreeCtrl",
controllerAs : "vm",
resolve: load([
    base_view_url+'modules/show_tree/showTreeCtrl.js',
    base_view_url+'modules/invite_user/inviteUserCtrl.js',
    'ui.select'
]),
params : {action:"list",id:null},
activetab: 'Activity'
})

以上代码能够显示InviteUser模块中的表单,但控制器似乎无法正常工作。表单按钮和控制器API根本不运行。

我在这里缺少什么?谢谢..

0 个答案:

没有答案