0

我想在 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

4

2 回答 2

0

您可以通过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);
                }
            });
        }}
    }
于 2020-07-20T09:33:36.577 回答
-1

使用下面的代码。

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

      })
    });
  }
于 2020-07-20T09:20:53.940 回答