javascript - 在 AngularJS 中将一个 Controller 注入(inject)另一个 Controller 时出错

标签 javascript 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
}]);

即使这样也是不正确的,因为依赖项的名称和参数需要匹配。尝试:

.controller('ReadOnlyController',  ['$scope','rateRequestService','$controller', function($scope, rateRequestService,$controller) {
   // your stuff
}]);

关于javascript - 在 AngularJS 中将一个 Controller 注入(inject)另一个 Controller 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27187730/

相关文章:

javascript - Angular 在 IE8 上,选择元素中的显示数据无法正常工作

javascript - 使用公钥创建比特币钱包

javascript - 从两个表达式设置 ng-checked 值

javascript - Angularjs 中下拉列表 "? string:2 ?"的问题

javascript - Angular ajax 使用 $http 失败

javascript - 如何使用 flow.js 的 ng-flow 从 dropbox 下载文件?

javascript - ES6 类 'this' 用于非类方法

javascript - Express js app.get 回调中如何获取多个独立的响应数据

javascript - 如何使用 SVG 制作响应式和交互式图像 map

javascript - 如果响应为假,则使用 Angular 更改类