gpt4 book ai didi

AngularJS : How to use one resolve for all the routes of my application

转载 作者:行者123 更新时间:2023-12-02 19:24:21 26 4
gpt4 key购买 nike

我想解决为我的应用程序的所有页面加载当前用户的 promise 。目前,我在路线的每个 $routeProvider.when() 中重复解析。

  $routeProvider.when('/users/edit/:userId', {
templateUrl: 'app/app/assets/partials/user-edit.html',
controller: 'UserEditController',
resolve:{
'currentUser':function( UserService){
return UserService.getCurrentUser();
}
}
});

$routeProvider.when('/staff_profil/edit', {
templateUrl: 'app/app/assets/partials/profil-edit.html',
controller: 'ProfilEditController',
resolve:{
'currentUser':function( UserService){
return UserService.getCurrentUser();
}
}
});

我的目标是解析当前用户的所有路由而不重复。

最佳答案

为了完整起见,这里是整个解决方案,使用 Angular 而不是下划线,并带有可链接的“when”。这段代码没有什么新内容,只是结合了上面的一堆答案。

var originalWhen = $routeProvider.when;

$routeProvider.when = function(path, route) {
route.resolve || (route.resolve = {});
angular.extend(route.resolve, {
CurrentUser : function(User) {
return User.current();
}
});

return originalWhen.call($routeProvider, path, route);
};

关于AngularJS : How to use one resolve for all the routes of my application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19937751/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com