【发布时间】:2016-10-13 02:17:06
【问题描述】:
这是 angular2 项目的简化路线:
export const ROUTES: Routes = [
{
path: "user/:user_id",
component: UserAuthComponent,
resolve: {
_auth: UserAuthResolver
},
children: [
{
path: "",
component: UserComponent,
resolve: {
user: UserResolver
}
},
// .... many more routes that require authentication cookie
]
}
]
UserAuthResolver 向服务器发出 GET 请求以设置身份验证 cookie(这是 UserResolver 以及所有子路由解析器(此处未显示)成功所必需的)。
但似乎 angular2 并没有顺序执行父路由中的 resolve 和 children 路由中的 resolve,而是与所有“相关”resolve 竞争。因此,很多时候,上面的代码会提示认证错误。
有没有办法解决这个问题?
仅供参考,我不能将UserAuthResolver 放在UserComponent 中,因为那样的话,这意味着将“身份验证”代码复制到所有需要它的地方。
编辑:这个东西被称为nested resolve。简而言之,如何处理 angular2 中的嵌套解析?在 Angular1 中,它似乎是 possible。
【问题讨论】:
-
This question 似乎相关,但没有给出答案...
标签: javascript angularjs angular angular2-routing