5
由于文件的大小和复杂性,我已经开始将应用程序分解成单独的文件,完全基于angular-seed项目完成它的方式。如何在构建AngularJS控制器后创建实例?
在这个重构过程中,我遇到了原始控制器构造方式的问题。其中的一些,将被注入到模态对话框中的将被创建为实例。
var firstInstanceCtrl = ['$scope', function($scope) { code... } ];
var secondInstanceCtrl = ['$scope', function($scope) { code... } ];
,在我的“主”控制器使用这种方式
$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() { });
};
但是,控制器现在注册的方式,我没有看到一个路怎么走的情况下,例如
angular.module('myApp.controllers', []).
controller('firstInstanceCtrl', [function() {
}])
.controller('secondInstanceCtrl', [function() {
}]);
所以我的问题是,“我如何获得我的主控制器内的子控制器的实例?”
尝试在'$ modal.open'中使用字符串版本'controller:'firstInstanceCtrl''。 –
http://jsfiddle.net/provegard/DUrgx/8/看到这个例如 – SoluableNonagon
此外,$控制器服务可以帮助你http://docs.angularjs.org/api/ng.$controller – SoluableNonagon