AngularJS解析未知的keyProvider

时间:2013-10-01 00:13:52

标签: javascript angularjs dependency-injection resolve

我正在尝试在加载控制器和模板之前解决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< - event

尽管出现错误(例如,console.log确实记录了返回的JSON对象),但数据似乎确实可用。什么是错误的任何想法?我没有使用javascript minifier或混淆器。

1 个答案:

答案 0 :(得分:0)

您的HTML视图是否包含ng-controller="IndexCtrl"属性? 这会实例化控制器而不会注入resolve参数,并会抛出您在那里看到的错误。

如果删除它,只使用普通的ng-view,控制器将仅使用$routeProvider服务进行实例化,并解析正确的依赖关系。