如何解决 Angular 4 路由器中的更改
How to resolve chaning in Router of Angular4
我正在尝试链接路由器解析器
这是我的路由器选项。
{ path: '',
component: AdminComponent,
resolve: [
SessionResolve,
LocaleResolve
]
}
我想调用 SessionService(SessionResolve) 然后调用 LocaleService(LocaleResolve) 用会话数据的 lang 值
但是,上面的代码调用是同时解析的
我认为解决代码更改 here
但是我不知道,因为我以前没有用过Angular4。
有什么方法可以将 resolve 用作链宁?还是我应该一次解决所有的工作?
Resolve 是 Angular 路由器支持的守卫之一。如果你有不止一名警卫,他们将以没有特定顺序的异步方式执行。
如果您需要维护订单,请创建另一个实现 Resolve 接口的 class(例如 SessionAndLocaleResolve),并在其中 class 从 SessionResolve 执行函数,然后从 LocalResolve 执行函数。
这样你的路由将有一个解析器 SessionAndLocaleResolve 并且你可以控制 "sub resolvers".
的执行顺序
我正在尝试链接路由器解析器
这是我的路由器选项。
{ path: '',
component: AdminComponent,
resolve: [
SessionResolve,
LocaleResolve
]
}
我想调用 SessionService(SessionResolve) 然后调用 LocaleService(LocaleResolve) 用会话数据的 lang 值
但是,上面的代码调用是同时解析的
我认为解决代码更改 here 但是我不知道,因为我以前没有用过Angular4。
有什么方法可以将 resolve 用作链宁?还是我应该一次解决所有的工作?
Resolve 是 Angular 路由器支持的守卫之一。如果你有不止一名警卫,他们将以没有特定顺序的异步方式执行。
如果您需要维护订单,请创建另一个实现 Resolve 接口的 class(例如 SessionAndLocaleResolve),并在其中 class 从 SessionResolve 执行函数,然后从 LocalResolve 执行函数。 这样你的路由将有一个解析器 SessionAndLocaleResolve 并且你可以控制 "sub resolvers".
的执行顺序