如何在 angular 中获得 Activatedroute

How to get Activatedroute in angular

我想在 URL 变化时获取路线

https://localhost:3200

https://localhotst:3200/login

路线改变时如何登录 我尝试了 ActivateRoute,但我编写的代码不起作用

这是我试过的方法:

route.params.pipe(
  takeUntil(this.destroy)
).subscribe(params => {
  if (this.currentDialog) {
    this.currentDialog.close();
  }
  this.currentDialog = matDialog.open(DialogComponent, {
    data: { tabvalue, param.id}
  }); //this is the code i took from a web site but i don't know how to apply it
});

在 param.id 中,这里的 id 是一个变量,但我不想使用它。我只想要 path: 'login', component: NavbarComponent } someting like this path

使用下面的代码。

constructor(private route: ActivatedRoute) { }
ngOnInit() {
    this.route.queryParams.forEach((params: Params) => {
      console.log(params['givenKey']);

      })
    });
  }

您可以通过route event订阅路线变更。

要获取全局更改,您可以在 app.component.ts 中设置订阅,例如。

仅获取 NavigationEnd 事件,然后检索所需的 url。

    class MyClass implements OnInit {
    
        constructor(private router: Router) {}
    
        ngOnInit() {
            this.router.events.subscribe((routerEvent) => {
                if(routerEvent instanceof NavigationEnd) {
                    // Get your url
                    console.log(routerEvent.url);
                }
            });
        }}
    }