2014-09-11 68 views
0

我是Angular的新手,对于AngularUI模态对话框的文档感到困惑。我没有看到那里呈现的代码如何适合主页面的控制器,或者主页面上的按钮如何单击时打开模式对话框。对AngularUI模态文档感到困惑

http://angular-ui.github.io/bootstrap/

ModalDemoCtrl应该是附加主网页的应用程序的控制器?

var myApp = angular.module('myApp', ['ui.bootstrap']); 

    var ModalDemoCtrl = function($scope, $modal, $log) { 
     <snip> 
    } 
    myApp.controller("ModalDemoCtrl"); 

或者是ModalDemoCtrl函数对象简单地嵌套在主界面的控制器内?

var myApp = angular.module('myApp', ['ui.bootstrap']); 

myApp.controller("MainPageCtrl", function($scope, $modal, $log) { 

     var ModalDemoCtrl = function($scope, $modal, $log) { 
     <snip> 
     } 
}); 

回答

1

基本上它是一个普通的控制器:

var modal = $modal.open({ 
     templateUrl: 'deleteDialog.html', 
     controller: 'deleteDialogController' 
}); 

modal.result.then(function() { 

}); 

deleteDialogController.js文件:

appModule.controller("deleteDialogController", [ "$scope", "$modalInstance", 
    function ($scope, $modalInstance) 
    { 
     $scope.ok = function() { 
      $modalInstance.close(); 
     }; 

     $scope.cancel = function() { 
      $modalInstance.dismiss('cancel'); 
     }; 
    } 
]); 
+0

完全符合_Basically同意这是一个普通的controller_ – Satpal 2014-09-11 11:42:31

+0

做的主网页和HTML片段有相同的控制器?另外,在配置中,您正在给'controller'属性提供一个字符串,控制器的名称,而docs有一个对象引用。 – Tim 2014-09-11 11:47:49

+0

@Tim它可以是控制器在不同的文件或内联定义http://plnkr.co/edit/l56203bfNiibGeB4CfdW?p=preview,我更喜欢不同的文件选项 – 2014-09-11 12:05:48