首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在rxjs6中注册路由侦听并更改标题?

如何在rxjs6中注册路由侦听并更改标题?
EN

Stack Overflow用户
提问于 2018-09-21 02:35:38
回答 1查看 174关注 0票数 4
  • rxjs5(angular6应用程序)中,我使用 this.router.events .filter(event => event ).map() => this.activatedRoute) .map(路由=> { while (route.firstChild) {en21= route.firstChild;}返回路径;enter code here }) .filter(路由=> route.outlet === 'primary') .mergeMap(路由存储)(事件){(事件标题‘+’+);this.appDataLogic.urlChanged();};
  • 但是在rxjs6中,route{},所以有错误property firstChild does not exist on type {}。 this.router.events.pipe( NavigationEnd的事件事件实例),map(() => {返回this.activatedRoute }).pipe(),map(路由=> {NavigationEnd= route.firstChild;}返回路由;}),过滤器(路由=> route.outlet === 'primary'),mergeMap(路由=> route.data) .subscribe(事件).subscribe(事件) => (事件‘标题’+‘’);})
  • 如何用rxjs6重写它?非常感谢。
EN

回答 1

Stack Overflow用户

发布于 2018-09-21 05:40:46

谢谢你的回答,我找到了一个解决办法:

代码语言:javascript
复制

this.router.events.pipe(

代码语言:javascript
复制
  filter(event => event instanceof NavigationEnd),
代码语言:javascript
复制
  map(() => this.activatedRoute),
代码语言:javascript
复制
  map(route => {
代码语言:javascript
复制
    while (route.firstChild) {
代码语言:javascript
复制
      route = route.firstChild;
代码语言:javascript
复制
    }
代码语言:javascript
复制
    return route;
代码语言:javascript
复制
  }),
代码语言:javascript
复制
  filter(route => route.outlet === 'primary'),
代码语言:javascript
复制
  mergeMap(route => route.data)
代码语言:javascript
复制
).subscribe((event) => {
代码语言:javascript
复制
  //some code
代码语言:javascript
复制
})
代码语言:javascript
复制

但是我还有另一个问题,它在ngOnInit()app.component.ts中使用,app.component.ts是我的根组件,如果我在ngOnDestroy()中取消订阅它

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52435848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档