我正在尝试在加载控制器和模板之前解决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或混淆器。
答案 0 :(得分:0)
您的HTML视图是否包含ng-controller="IndexCtrl"
属性?
这会实例化控制器而不会注入resolve
参数,并会抛出您在那里看到的错误。
如果删除它,只使用普通的ng-view
,控制器将仅使用$routeProvider
服务进行实例化,并解析正确的依赖关系。