我正在尝试从加载视图之前从API获取一些配置设置,因此我尝试使用未定义的数据时不会产生十亿次插值错误。该应用程序不会因为错误而崩溃,但我仍然需要摆脱错误。
我想我会在加载视图之前使用解析并等待配置方法解析,但是我无法将数据传输到控制器,以便我可以在那里使用它。我一直在寻找其他问题,显然这就是你应该这样做的方式。我到底做错了什么?
问题在api
工厂中不,api.getConfig()
向外部API返回$http.get
请求的承诺就好了,所以我赢了'这里包括功能片段。
在我的路由中:
.when('/:category/top_rated', {
templateUrl: 'views/pages/results.html',
resolve: {
'isAuth': ['fbRefs', function(fbRefs) {
return fbRefs.getAuthObj().$requireAuth();
}],
'getConfig': ['api', function(api) {
api.getConfig().then(function(data) {
return data;
});
}]
}
})
然后在我的控制器中我注入它:
core.controller('MainCtrl', ['getConfig', function(getConfig) {
getConfig.then(function(data) {
console.log(data);
});
}]);
然而,这会引发$injector:unpr
错误。为什么不能找到解决方法?
答案 0 :(得分:0)
您的控制器应该在路由器中声明,否则控制器没有上下文“getConfig'来自,因此喷射器错误。
.when('/:category/top_rated', {
templateUrl: 'views/pages/results.html',
controller: 'MainCtrl',
resolve: {
'isAuth': ['fbRefs', function(fbRefs) {
return fbRefs.getAuthObj().$requireAuth();
}],
'getConfig': ['api', function(api) {
api.getConfig().then(function(data) {
return data;
});
}]
}
})