Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何根据路线添加等级| 6_Angular_Typescript_Angular Routerlink - Fatal编程技术网

Angular 如何根据路线添加等级| 6

Angular 如何根据路线添加等级| 6,angular,typescript,angular-routerlink,Angular,Typescript,Angular Routerlink,当用户通过单击导航栏模块上的链接更改路由时,我在获取url的当前路径方面遇到一些问题。如何在用户每次单击导航模块上的路由链接时获取当前url路径。我需要在navigation.ts脚本中获取它。这就是我现在所拥有的: TS: 它可以工作,但每次循环8次。我正在使用angular 6,因为路由器会受到多个事件的影响 尝试筛选最后一个事件,NavigationEnd: this.router.events.pipe( filter(event => event instanceof

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


它可以工作,但每次循环8次。我正在使用angular 6,因为路由器会受到多个事件的影响

尝试筛选最后一个事件,
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';

因为路由器受到多个事件的影响

尝试筛选最后一个事件,
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';

问题是什么?当用户通过单击导航栏模块上的链接来更改路由时,我在获取url的当前路径方面遇到一些问题。您可以在ngOnInit中执行相同的操作,当指令被激活时,它将只调用一次instantiated@JoelJoseph不会改变任何事情,问题在于可观察的,不是生命周期挂钩。@trichetriche是的,你是对的,谢谢你的更正。有什么问题吗?我在获取url的当前路径时遇到了一些问题,当用户通过单击导航栏模块上的链接来更改路由时。您可以在ngOnInit中执行相同操作,当指令被激活时,ngOnInit将只调用一次instantiated@JoelJoseph不会改变任何事情,问题在于可观察的,而不是生命周期挂钩。@trichetriche是的,你是对的,谢谢你的纠正谢谢你兄弟。你节省了我的时间@没问题,很高兴我能帮上忙!如果你觉得这对你有帮助,你可以自由地投票,如果你解决了问题,考虑关闭你的问题吧!谢谢你,兄弟。你节省了我的时间@没问题,很高兴我能帮上忙!如果你觉得这对你有帮助,你可以自由地投票,如果你解决了问题,考虑关闭你的问题吧!