在我的 Angular 应用程序中,如果用户授权,我想从服务器加载一些用户特定的配置数据。该数据将在整个应用程序中使用。我已经实现了基于 cookie 的 token 身份验证。如何延迟应用程序直到数据加载完成?
最佳答案
您可以在路由中使用resolve
。示例来自ng-doc :
app.config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/Book/:bookId', {
templateUrl: 'book.html',
controller: 'BookController',
resolve: {
// I will cause a 1 second delay
delay: function($q, $timeout) {
var delay = $q.defer();
$timeout(delay.resolve, 1000);
return delay.promise;
}
}
});
您可以返回任何您想要的 promise ,而不是超时 promise 。
在这种情况下,您的 Controller 将在 route.resolve
promise 解析后启动。
另请参阅this回答。它看起来与您的案例非常相关。
关于javascript - 在 Angular 应用程序中加载配置数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42492825/