Comment puis-je injecter $modalInstance dans mon contrôleur?

Je suis en train d'écrire mon code selon Google normes...même pas sûr de ce que cette syntaxe est appelé, mais il est différent de l'Angulaire de l'INTERFACE utilisateur un code d'exemple pour les contrôleurs et je suis un injecteur d'erreur pour $modalInstance 🙁

var myControllers = angular.module('myControllers', ['ngCookies','ui.bootstrap']);

myApp.controller('LoginDialogCtrl', ['$scope', '$modalInstance', 'Auth', function($scope, $modalInstance, Auth) {
  $scope.login = function() {
    //Close dialog
    $modalInstance.dismiss('Logged in');
  };
}]);

myApp.controller('AuthCtrl', ['$scope', '$modal', 'Auth', function($scope, $modal, Auth) {
  $scope.openLoginDialog = function () {
    var modalInstance = $modal.open({
      templateUrl: 'partials/auth/login.html',
      controller: myApp.LoginDialogCtrl,
      }
    });
  };
  ...
}]);

La boîte de dialogue s'ouvre bien, mais après que l'utilisateur se connecte, mais je reçois un injecteur d'erreur pour cette ligne:

myApp.controller('LoginDialogCtrl', ['$scope', '$modalInstance', 'Auth', function($scope, $modalInstance, Auth) {

Je l'ai testé comme ça, et il semble que cela fonctionne ce qui est vraiment gênant:

var ModalInstanceCtrl = function ($scope, $modalInstance) {
  $scope.ok = function () {
    $modalInstance.close();
  };

  $scope.cancel = function () {
    $modalInstance.dismiss('cancel');
  };
};

A-t-elle quelque chose à voir avec la façon dont mon contrôleur est en cours d'initialisation et au moment de son initialisation, elle ne sait pas à propos de $modalInstance? Comment puis-je faire ce travail?

Ne devrait pas votre myApp.controllers être myControllers.controllers à la place?

OriginalL'auteur SomethingOn | 2014-03-06