使用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则显示默认的图片代码。