没有组件

时间:2017-02-01 18:44:23

标签: angular routes guard

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

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

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

我承认,这更像是一种审美的东西,但却是一个真正的问题:)另一方面,可能会有一种更直接的方法,我不知道。有关于此的任何想法/意见吗?

1 个答案:

答案 0 :(得分:2)

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

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

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

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