2013-04-17 2 views
0

У меня есть контроллер, которому необходимо получить доступ к службе. Если я просто добавлю службу в качестве параметра функции-конструктора моего контроллера, он будет работать нормально, но если я попытаюсь аннотировать параметры с помощью $ injection, чтобы у меня не возникало проблем с минимизацией javascript, я получаю следующее Исключение: «Невозможно прочитать свойство« Пользователь »неопределенного»

Все работает нормально, но я не понимаю, откуда исходит исключение.

Код для службы является:

var myAppServices = angular.module('myApp.services', []); 
myAppServices.factory('User', function(){ 
     var user = { 
      name:"anonymous", 
      id: -1, 
      authorized:false 
     }; 
     return user; 
    }); 

И контроллер выглядит следующим образом:

function MainController($rootScope, $location, User){ 
    $rootScope.$on("$routeChangeStart", function (event, current, previous){ 
     console.log(User); 
     if(User.authorized === false && current.templateUrl !== 'partials/partial1.html'){ 
      console.log("returning false") 
      $location.path('/view1'); 
      return false; 
     } 
    }); 

} 
MainController.$inject['$rootScope', '$location', 'User']; 

Исключение брошено на последней строке кода выше, где $ впрыснуть аннотацию называется ,

ответ

1

Вы являетесь = отсутствует:

MainController.$inject = ['$rootScope', '$location', 'User']; 
+0

Ups! Мне действительно нужно больше спать ;-) –

Смежные вопросы