如何根据路线添加课程角度6

时间:2018-11-27 10:24:19

标签: angular typescript angular-routerlink

当用户通过单击导航栏模块上的链接更改路由时,获取url的当前路径存在一些问题。每次用户单击导航模块上的路线链接时,如何获取当前的URL路径。我需要在navigation.ts脚本上获取它。我现在所拥有的: TS:

constructor(private router: Router, private route: ActivatedRoute) {
  this.router.events.subscribe(res => {
    if (this.router.url == "/buy") {
      this.navExpand = true;
    }

    else {
      this.navExpand = false;
    }
  });
}

它可以工作,但是每次循环8次。我正在研究角度6

1 个答案:

答案 0 :(得分:0)

因为路由器会遇到多个事件。

尝试过滤上一个事件NavigationEnd

  this.router.events.pipe(
    filter(event => event instanceof NavigationEnd)
  ).subscribe(res => {
    if (this.router.url == "/buy") {
      this.navExpand = true;
    }

    else {
      this.navExpand = false;
    }
  });

进口:

import { filter} from 'rxjs/operators';
import { NavigationEnd } from '@angular/router';