使用 ng-controller 时延迟模板加载

2024-01-29

我试图推迟加载我的主控制器/模板(AppController),直到我从服务加载用户配置文件。

对于所有导航路线,我使用 $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 实际运行之前完成执行的承诺,但我不确定如何使用 ng-init 来做到这一点(或者如果可能的话,我认为只有表达式不承诺可以兑现)。

感谢您的任何帮助/协助。


正如视频中所见:http://egghead.io/video/angularjs-resolve/ 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;
     }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ng-controller 时延迟模板加载 的相关文章

随机推荐