由于所述文件的大小和复杂性,我已经开始将我的应用程序分解为单独的文件,完全基于angular-seed项目完成它的方式.
在这个重新分解过程中,我遇到了原始控制器构造方式的问题.其中一些,将注入模态对话框的那些被创建为实例.
var firstInstanceCtrl = ['$scope', function($scope) { code... } ];
var secondInstanceCtrl = ['$scope', function($scope) { code... } ];
Run Code Online (Sandbox Code Playgroud)
并以这种方式在我的'主'控制器中使用
$scope.buttonClick = function (row) {
var viewModel = {};
var modalInstance = $modal.open({
backdrop: 'static',
windowClass: 'modal-wide',
templateUrl: 'modalFirst.html',
controller: firstInstanceCtrl,
resolve: {
viewModel: function () {
return viewModel;
}
}
});
modalInstance.result.then(function () {}, function () { });
};
Run Code Online (Sandbox Code Playgroud)
但是,现在注册控制器的方式,我没有看到如何获得实例的方法,例如
angular.module('myApp.controllers', []).
controller('firstInstanceCtrl', [function() {
}])
.controller('secondInstanceCtrl', [function() {
}]);
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,"如何在主控制器内部获得子控制器的实例?"
您可以使用用于注册控制器的名称:
controller: 'firstInstanceCtrl',
Run Code Online (Sandbox Code Playgroud)
$modal.open在$controller内部使用.
| 归档时间: |
|
| 查看次数: |
5183 次 |
| 最近记录: |