在解决承诺之前,如何阻止控制器加载?

时间:2016-11-03 15:57:00

标签: angularjs

使用UI.router,我可以阻止状态在承诺解决之前加载:

// Summary page
$stateProvider.state('home', {
  url: '/',
  templateUrl: '../home.html',
  controller: 'MainCtrl',
  resolve: {
    unitPromise: ['units',
     function (units) {
        return units.populate();
      }
    ]
  }
});

但我有一个与州无关的导航栏,因为它是所有页面上使用的共享视图。我需要加载一个user对象,因为我想在导航栏中显示用户的图片,并且url存储在用户对象中。但是,在NavCtrl之前加载HTML有机会加载user模型并将其传递给范围。我还尝试将用户加载到$rootScope中的app.run,但它仍未及时加载,而html则显示默认的图片代码。

0 个答案:

没有答案