2014-09-11 78 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