Angular8路由器不';某些组件不起作用-返回索引

Angular8路由器不';某些组件不起作用-返回索引,angular,typescript,routing,frontend,router,Angular,Typescript,Routing,Frontend,Router,我的角形路由器有些问题。 我有一个包含几个组件的项目: 现在我可以从app.component路由到login.component,也可以从那里路由到overview.component。 很快,这3个组件之间的路由工作 但现在我添加了logbook.component,并希望路由到此,它总是返回到app.component 无论我是直接将其放入URL路径还是使用router.navigate(['logbook')在单击方法中。 url显示应用程序试图路由到/logbook,但是我又看到了ap

我的角形路由器有些问题。 我有一个包含几个组件的项目: 现在我可以从app.component路由到login.component,也可以从那里路由到overview.component。 很快,这3个组件之间的路由工作

但现在我添加了logbook.component,并希望路由到此,它总是返回到app.component 无论我是直接将其放入URL路径还是使用
router.navigate(['logbook')在单击方法中。
url显示应用程序试图路由到
/logbook
,但是我又看到了app.component

这是我的app-routing.module.ts:

const routes:routes=[
{
路径:“”,
组件:AppComponent
},
{
路径:“登录”,
组件:LoginComponent
},
{
路径:“概述”,
组件:概览组件
},
{
路径:'日志',
组件:日志组件
}
];
@NGD模块({
导入:[RouterModule.forRoot(路由)],
导出:[路由模块]
})

导出类AppRoutingModule{}
我认为您的路由工作正常,但是您的
app.component.html
用“
resetScreen
”类覆盖了屏幕。请记住,
app.component.html
是根组件,并且始终显示

显示
overview.component.html
的唯一原因是它在路由时用“
overview
”类覆盖了
app.component.html

您可能希望有条件地显示“
resetScreen
”元素

app.component.html

<div *ngIf="!isLoggedIn" class="resetScreen">
  <div class="btn_reset" (click)="showLoginScreen()"></div>
  <div class="btn_start" (click)="showLoginScreen()"></div>
</div>
<router-outlet></router-outlet>

或者像其他组件一样,将html元素从
app.component.ts
移动到它自己的路由组件中。

您是否尝试过调试logbook.component.ts?函数
checkLogin
是否返回正确的值?如果您确定这不是
ngOnInit
重定向调用问题,那么您必须向我们提供您的Html代码,特别是导航部分。如果您不确定,请尝试调试它(即使是简单的
console.log()
也可以)。Yes返回正确的值,当id存在时为true这将是OnInit重定向问题?文件位于:you's welcome!我和你一样困惑,直到我检查了浏览器中的html。
export class AppComponent implements OnInit {

  constructor(public router: Router, private loginService: LoginService) { }

  ngOnInit() {
    if(this.isLoggedIn) {
      this.router.navigate(['overview']);
    }
  }

  showLoginScreen(): void {
    this.router.navigate(['login']);
  }

  get isLoggedIn(): boolean {
    return this.loginService.checkLogin();
  }

}