如何使用 ts 文件中的 location.href 而不是 Angular 中的 router.navigate 8 以及要导入什么?

how to use location.href from the ts file instead of router.navigate in Angular 8 and what to import?

成功后我需要转到另一个主页...如何使用 window.location.href?从哪里导入 window?

@Input() redirectTo: string = "/home";

 switch (data.authenticationStatus.value) {
  case "SUCCESS":
    this.storageSvc.saveTokens(data.tokens);
    window.location.href([this.redirectTo]);
    break;

外部路由

如果你想在你的应用程序之外导航,老式的 javascript 会起作用:

window.location.href = externalUrl;

内部路由

您使用 Angular 路由器导航到新路线。路由器从 @angular/router 导入,您通过组件的构造函数注入它。

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

export class MyComponent {

  constructor(private router: Router) {
  }

  @Input() redirectTo: string = "/home"

  navigate() {
    this.router.navigateByUrl(this.redirectTo);
  }
}

如果你有一个完整的亲戚 url,就像你看起来那样,那么你可以打电话给 router.navigateByUrl(url)。构建导航指令的方法比较复杂,但我想在这里着重介绍基础知识,向您介绍路由。

你为什么要用这个? Angular 是一个单页面应用程序框架,因此通常您不会转到另一个 html 页面或您项目中的其他内容 - 因为它只是一个大的单一网页。 通过使用路由器,您可以获得类似多个页面的内容,但请注意,在后台它总是回退到您的 index.html...