2014-12-03 5 views
4

Я пытаюсь ввести $ timeout в функцию run, но я получаю, что это not a function, когда я пытаюсь его вызвать. Зачем ?

var mainApp = angular.module('mainApp', ['ngRoute', 'ngAnimate', 'ui.bootstrap', ngCookies']); 

mainApp.run(['$rootScope', '$location', '$timeout' 
     function ($rootScope, $location, $route, authService, $timeout) { 
... 
}]); 
+1

В этом коде есть много синтаксической ошибки. исправить и повторить попытку – simon

ответ

14
mainApp.run(['$rootScope', '$location', '$timeout' 
     function ($rootScope, $location, $route, authService, $timeout) { 
... 
}]); 

должно быть:

mainApp.run(['$rootScope', '$location', '$route', 'authService', '$timeout', 
     function ($rootScope, $location, $route, authService, $timeout) { 
... 
}]); 

см 'Массив аннотацию' часть здесь:

https://docs.angularjs.org/api/auto/service/$injector

2

При аннотирования функции с именами зависимостей, порядок внешний вид должен совпадать.

... 
mainApp.run(['$rootScope', '$location', '$route', '$timeout', 'authService', 
     function ($rootScope, $location, $route, $timeout, authService) { 
... 
}]); 
Смежные вопросы