AngularJS Resolve Unknown keyProvider

Я пытаюсь выполнить обещание JSON перед загрузкой контроллера и шаблона.

var app = angular.module('app', []);

app.config(function ($routeProvider) {
  $routeProvider.when('/', {
    templateUrl: 'index-ctrl-test.html',
    controller: 'IndexCtrl',
    resolve: {
        event: function ($http) {
            return $http.get('/api/eventInfo.json?event_name=Some Event Name');
        }
    }
  });
});

var IndexCtrl = app.controller('IndexCtrl', ['$scope', 'event', function ($scope,event)   {
  console.log(event.data);
}]);

Ключ обещания разрешения вводится в контроллер, но он продолжает выдавать ошибку:

Ошибка: Неизвестный провайдер: eventProvider ‹- событие

Данные кажутся доступными, несмотря на ошибку (т. е. console.log фактически регистрирует возвращенный объект JSON). Любые идеи, что вызывает ошибку? Я не использую минификатор или обфускатор javascript.


person scottso87    schedule 01.10.2013    source источник
comment
Покажите нам свой код для eventProvider   -  person user2422960    schedule 10.10.2013


Ответы (1)


Содержит ли ваше HTML-представление атрибут ng-controller="IndexCtrl"? Это создает экземпляр контроллера без ввода параметров resolve и выдает ошибку, которую вы видите там.

Если вы удалите это и вместо этого просто используете простой ng-view, экземпляр контроллера будет создан только с помощью службы $routeProvider с разрешенными правильными зависимостями.

person jojo    schedule 01.10.2013