[英]Error in injecting a controller into another controller in AngularJS
我的代碼是這樣的
Controller.JS
angular.module('RateRequestApp.controllers', []).controller('ReadOnlyController', '$controller', function($scope, rateRequestService,$controller) {
$controller('ModalDemoCtrl',{$scope : modalDCtrl });
$scope.rateData = [];
rateRequestService.getData().success(function(response) {
$scope.rateData = response;
}).error(function (data, status, headers, config) {
modalDCtrl.openModal();
});
});
angular.module('RateRequestApp.controllers').controller('ModalDemoCtrl', function ($scope, $modal, $log) {
this.openModal = function (size) {
var modalInstance = $modal.open({
templateUrl: 'myModalContent.html',
controller: 'ModalInstanceCtrl',
size: size,
});
};
});
App.JS
angular.module('RateRequestApp', [
'RateRequestApp.services',
'RateRequestApp.controllers',
'ui.bootstrap'
]);
一切對我來說還不錯,但這會引發錯誤
Error: [ng:areq] Argument 'ReadOnlyController' is not a function, got string
誰能指出我做錯了什么?
您使用的依賴項聲明不正確。 它需要包裝在一個數組中。 代替:
.controller('ReadOnlyController', '$controller', function($scope, rateRequestService,$controller) {
// your stuff
});
嘗試:
.controller('ReadOnlyController', ['$controller', function($scope, rateRequestService,$controller) {
// your stuff
}]);
甚至那也不正確,因為依賴項和args的名稱需要匹配。 嘗試:
.controller('ReadOnlyController', ['$scope','rateRequestService','$controller', function($scope, rateRequestService,$controller) {
// your stuff
}]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.