【发布时间】:2014-07-07 00:43:59
【问题描述】:
我的config 如下所示:
app.config(function ($routeProvider) {
$routeProvider
...
.when('/project/:slug', {
templateUrl: 'partials/plaintasks-part.php',
controller: 'ProjectCtrl',
resolve : {
projectDetail : ProjectCtrl.loadProject
}
})
...
});
而loadProject如下:
// Project controller
var ProjectCtrl = app.controller('ProjectCtrl', ...);
ProjectCtrl.loadProject = function( $q, Tasks, $route ){
var defer = $q.defer();
var slug = $route.current.params.slug;
// Tasks.getProjectBySlug() is where I have implemented the http request to get the data from server
var project = Tasks.getProjectBySlug( slug );
var tasks = Tasks.getProjectTasks( project.id );
defer.resolve({
tasks : tasks,
project : project
});
return defer.promise;
}
现在的问题是,它不会等待从服务器获取projects 和tasks,而是简单地显示我不想要的视图,除非从服务器获取数据。谁能告诉我,我在这里做错了什么?尽管我在路由中实现了resolve,但它为什么不等待获取数据?
【问题讨论】:
-
抱歉,我不在,无法发布更新!我有这个工作。谢谢两位回答! :-)
标签: angularjs promise angularjs-service