2013-10-01 86 views
0

我想在加载控制器和模板之前解决JSON诺言。AngularJS解决未知keyProvider

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缩小器或混淆器。

+0

向我们展示您的代码为eventProvider – user2422960

回答

0

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

如果删除它,并且仅使用普通的ng-view,则控制器将仅使用$routeProvider服务进行实例化,并解决适当的相关性。