如何解决Angular4中路由器的转换问题

时间:2017-08-25 08:59:21

标签: javascript angular angular-router-guards angular4-router

我试图链接路由器解析器

这是我的路由器选项。

  { path: '',
    component: AdminComponent,
    resolve: [
      SessionResolve,
      LocaleResolve
    ]
  }

我想调用 SessionService(SessionResolve),然后使用会话数据的lang值调用 LocaleService(LocaleResolve)

但是,上面的代码调用同时解决了

我认为解决代码更改here 但我不知道,因为我之前没有使用过Angular4。

有没有办法可以使用resolve作为通道?或者我应该在一个决心中处理所有工作?

1 个答案:

答案 0 :(得分:1)

Resolve是Angular路由器支持的守卫之一。如果你有多个警卫,他们将按照特定顺序异步执行。

如果需要维护订单,请创建另一个实现Resolve接口的类(例如SessionAndLocaleResolve),并在该类中从SessionResolve执行该函数,然后从LocalResolve执行。 这样你的路线将有一个解析器SessionAndLocaleResolve,你可以控制"子解析器的执行顺序"。