gpt4 book ai didi

javascript - $routeProvider - 为所有路由注入(inject)相同的依赖

转载 作者:行者123 更新时间:2023-11-29 19:44:14 26 4
gpt4 key购买 nike

以下代码:

$routeProvider .when("/page1", { controller: "MyController", resolve: {Strategy: "StrategyOne"}})

在实例化 Controller “MyController”之前等待 Strategy 依赖项被解析。

在我的应用程序中,我有一个返回 promise 的函数,该 promise 在解决后会提供给当前用户。我们称该函数为Authentication.currentUser()

我希望我的应用程序的所有页面在呈现页面之前等待该 promise 得到解决。我可以愉快地为每个路由声明添加一行,但我宁愿避免重复。

由于模板中的这一行,我有一个名为“MainCtrl”的 Controller ,所有页面都会调用它:

<html ng-app="clientApp" ng-controller="MainCtrl">

我认为解决这个问题的一种可能方法是,如果可以指定 Authentication.currentUser()作为 Controller 级别的“MainCtrl”的依赖项(不在路由级别,因为此依赖项不依赖于特定路由)。

谢谢大家的帮助!

最佳答案

对于那些想用标准的 $routeProvider 解决这个问题的人来说,这是我提出的:

$rootScope.$on('$routeChangeStart', function (event, next, current) {
if (!next.resolve){ next.resolve = {} }
next.resolve.currentUser = function(Authentication){
return Authentication.currentUser();
};
});

关于javascript - $routeProvider - 为所有路由注入(inject)相同的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20963709/

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