角|使用两个具有相同路线的组件

时间:2019-09-22 21:56:53

标签: angular

我需要使用此路由'/',但是此路由必须使用经过身份验证验证后选定的组件。

我想做Facebook要做的事情。当您要登录时,URL为“ facebook.com”,当您位于主页时,URL也为“ facebook.com”。

所以,我一直在尝试的答案是什么: https://stackoverflow.com/a/49095103/9588225

但是问题是我遇到了这个错误:“循环依赖注入”是由于匹配器中的注入。

我想知道是否有另一种方法可以将服务注入到函数中,或者是否有某种方法可以对此进行验证。

非常感谢。

1 个答案:

答案 0 :(得分:2)

为路由保留相同的组件并具有两个单独的子组件和一个* ngIf或取决于用户是否登录的内容可能更容易

<login-component *ngIf="!userLoggedIn"></login-component>
<app-component *ngIf="userLoggedIn"></app-component>

这只是一个基本示例,但是您可以从这里扩展

通过这种方式,您可以完全控制在路线上显示哪个组件,而不必担心将来的弯角版本会破坏您的路线配置。