Angular 路由器导航在订阅内不工作(角度)

Angular 路由器导航在订阅内不工作(角度),angular,typescript,Angular,Typescript,我面临以下问题: 我调用GetByUserName和Password方法,收到一个响应,但当我尝试将用户重定向到/zeiterfassung路由时,它只显示相同的/login页面。。我编写了一个console.log()来检查它是否进入res,它确实。。有人能告诉我我做错了什么吗 组成部分: public async anmelden() { this.loading = true; this._benutzerservice.getByUsernameAndPassword

我面临以下问题:

我调用GetByUserName和Password方法,收到一个响应,但当我尝试将用户重定向到/zeiterfassung路由时,它只显示相同的/login页面。。我编写了一个console.log()来检查它是否进入res,它确实。。有人能告诉我我做错了什么吗

组成部分:

  public async anmelden() {
    this.loading = true;
    this._benutzerservice.getByUsernameAndPassword(this.benutzerFormControl.value, this.passwortFormControl.value)pipe(first()).subscribe(
      res =>  {
        this._router.navigate(['/zeiterfassung']);
      },
      err => {
        console.log("a");
      });

尝试在订阅外部路由

public async anmelden() {
    this.loading = true;
    this._benutzerservice.getByUsernameAndPassword(this.benutzerFormControl.value, this.passwortFormControl.value) pipe(first()).subscribe(
        res => {
            this.redirect('/zeiterfassung');
        },
        err => {
            console.log("a");
        });
}

redirect(path) {
     this.router.navigate([path]) 
}

默认情况下,navigate方法将尝试导航到yourdomain.com/zeiterfassung
通过以下方式,它将导航到当前URL,例如yourcurenturl/zeiterfassung

import { ActivatedRoute } from '@angular/router';

constructor(private route :ActivatedRoute) 

public async anmelden() {
    this.loading = true;
    this._benutzerservice.getByUsernameAndPassword(this.benutzerFormControl.value, this.passwortFormControl.value)pipe(first()).subscribe(
      res =>  {
        this._router.navigate(['zeiterfassung'],{relativeTo:this.route});
      },
      err => {
        console.log("a");
      });

我尝试在子描述之外进行路由,但它仍然将我重定向到实际页面:/I实际上我想从localhost:4200/login更改为localhost:4200/zeiterfassung