我正在尝试推迟加载我的主控制器/模板(AppController),直到我从服务加载用户配置文件。
对于所有导航路线,我使用带有resolve的$routeProvider
.when('/edit/:editId', {
templateUrl: 'editTemplate.html',
controller: 'EditController' // this is a child controller of AppController
resolve: {
currentUser: ['svc.user', function(userSvc) { return userService.getUser(); }]
}
// and so on..但是对于AppController,我正在使用
如何为AppController执行解析?本质上,我希望userService.getUser()在AppController实际运行之前返回一个promise来完成执行,但我不确定如何使用ng-init (或者如果可能的话,我认为只有表达式而不是promises才能执行)。
感谢您的帮助/帮助。
发布于 2013-03-26 19:34:46
如此视频所示:http://egghead.io/video/angularjs-resolve/
您应该尝试:
.when('/edit/:editId', {
templateUrl: 'editTemplate.html',
controller: 'EditController' // this is a child controller of AppController
resolve: {
currentUser: ['svc.user', function(userSvc) { return userService.getUser(); }]
app: function ($q) {
var defer = $q.defer();
defer.resolve();
return defer.promise;
}
}https://stackoverflow.com/questions/15633686
复制相似问题