另一个注射器问题

这个依赖注入有什么问题? 每当我注入modalController到...好吧,任何东西......我得到一个注射器错误。 我包含了js文件作为脚本引用,并且我引用了我的模态模块。 这是实际的错误:

错误:[$ injector:unpr] http://errors.angularjs.org/1.3.0-beta.13/$injector/unpr?p0=modalControllerProvider%20%3C-%20modalController

personnelModule.controller('PersonnelController', ['$scope', 'personnelFactory','modalController', function($scope, personnelFactory, modalController){
    personnelFactory.getPersonnel().then(function(personnel){
        $scope.personnel = personnel;
        $scope.events = {};
        $scope.events.addPerson = function() {
            $modal.open({
              templateUrl: '../SiteAssets/views/ModalTemplate.html',
              controller: modalController
            });
        };
    });
}]);

modalModule.controller('modalController', ['$scope', '$modalInstance', function($scope, $modalInstance){
      $scope.ok = function () {
        alert('ok clicked');
        $modalInstance.dismiss('canceled'); 
      };
      $scope.cancel = function () {
        alert('cancel clicked');
        $modalInstance.dismiss('canceled'); 
      };
}]);

尝试将该控制器作为字符串引用。 (在$ modal.open中)

controller: 'modalController'

编辑

您还需要将$ modal服务注入到'PersonnelController'中,我相信注入'modalController'是不必要的。

personnelModule.controller('PersonnelController', ['$scope', 'personnelFactory', '$modal', function($scope, personnelFactory, $modal){

编辑2

试试这个Plunker。 我做出的最显着的变化是删除了

<div ng-controller="modalController"></div>

<button ... ng-click="ok()">OK</button>

不要将控制器注入对方。 我的意思是,你为什么要这样做?

链接地址: http://www.djcxy.com/p/77677.html

上一篇: another injector issue

下一篇: angular.min.js:118 SyntaxError: Illegal continue statement