我已经设置了一个具有相应解析功能的控制器
window.ResolveCtrl = ['$scope', 'resolvedData',
function ($scope, resolvedData) {
console.log("RESOLVED:", resolvedData);
}
];
window.ResolveCtrlResolve = {
resolvedData: ['Api', '$q', function(Api, $q) {
var defer = $q.defer();
Api.someApiCall(function (err, data) {
if (err) defer.reject(err);
else defer.resolve(data);
});
return defer.promise;
}]
};
以下是$routeProvider
$routeProvider.when('/example', {
templateUrl: "partials/example.html",
controller: 'ResolveCtrl',
resolve: ResolveCtrlResolve
});
第一个console.log
使用它的内容正确记录resolvedData
对象,但是后面紧跟$injector
错误:
Error: [$injector:unpr] Unknown provider: resolvedDataProvider <- resolvedData
为什么会这样?
更新:似乎控制器构造函数连续被调用了2次,但我不知道为什么。