【发布时间】:2015-06-25 12:30:59
【问题描述】:
我在 Angular 应用程序的 app.run 部分发送 HTTP 请求。但问题是使用$rootScope.projects 的控制器是在$rootScope.projects 被HTTP 请求创建和填充之前启动的。
如果$rootScope.projects 未定义,如何防止控制器加载?
这是我的HTTP 请求:
$http({method : 'GET', url:'https://api.parse.com/1/classes/Project',
headers: { 'X-Parse-Application-Id':ParseID, 'X-Parse-REST-API-Key':ParseREST}})
.success(function(res) {
$rootScope.projects = res.results;
})
.error(function(err) {
console.log(err);
$rootScope.projects = [];
});
【问题讨论】:
-
你在使用
ui-router吗?如果是这样,resolve在控制器实例化之前会想到做这样的事情 -
在 AJAX 回调中检索到服务器端数据后,您可以手动引导 Angular 应用程序:blog.mariusschulz.com/2014/10/22/…
-
您也可以将项目变量初始化为一个空数组。
标签: javascript angularjs asynchronous