【问题标题】:Angular2 routing config without component没有组件的Angular2路由配置
【发布时间】:2018-05-11 18:34:57
【问题描述】:

当用户单击电子邮件中的链接时,我有一条开放的路线。该链接包含一些需要检查的令牌和 ID。根据检查的结果,我会将用户重定向到相应的路线。例如,用户可以被路由到错误页面、注册/登录页面或直接到他的仪表板。

此外,我不想在组件中进行检查,因为我不希望在检查期间呈现任何模板。用户应该看到的第一个页面是他最终被路由到的页面。所以,我在guard 中进行检查。

尽管如此,我需要在路由配置中配置一个组件,该组件最终将永远不会被渲染。当然,我可以在那里定义一个任意组件,但实际上这里单独 guard 就足够了。

我承认,这更像是一个美学问题,但一个真正的问题 :) 另一方面,可能有一个更直接的方法,我不知道。对此有何想法/意见?

【问题讨论】:

  • 我认为创建了一个问题,以使路由器在这种情况下更加宽容,并忽略在实际需要之前没有配置组件。我不知道这个问题的进展。我只是使用带有空模板的DummyComponent

标签: angular routes guard


【解决方案1】:

我发现自己处于与您的问题中描述的相同的情况,但是,我不喜欢创建“DummyComponent”只是为了满足路由器 api 的想法。

因此,我选择了一个空的 children 数组:

path: '**',
canActivate: [RouteGuard],
children: []

然后您的 RouteGuard 可以接管并根据当前应用程序状态动态地执行重定向魔术。

【讨论】:

  • 注意:routeguard 可以返回一个可能对重定向有用的 UrlTree
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-24
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多