为了账号安全,请及时绑定邮箱和手机立即绑定

使用RxJs碰到的问题,如何防止重复订阅?

使用RxJs碰到的问题,如何防止重复订阅?

哈士奇WWW 2018-09-12 13:14:16
使用的框架是:Angular2我在两个组件ArticleListComponent和ArticleListFilterComponent,使用服务Service进行组件通信,定义了一个SearchService,用来响应ArticleListFilterComponent的变化,来更新ArticleListComponent的列表。在ArticleListComponent的ngOnInit方法,添加如下代码,添加观察者来监控搜索过滤器的变化。this.searchService.searchChange$.subscribe(    change => {        for (let key in change) {                     this.filter[key] = change[key];         }        //搜索的时候, 重置页数         this.getArticles(true);     } );但是有一个问题,在Angular2中Service是单例的,在每次我路由跳转到ArticleListComponent组件,会调用ngOnInit方法,导致会添加很多重复的订阅者。有没有什么方法,能够清空订阅者,或者保持只有当前一个订阅者?查了RxJs的文档,但没看到类似方法。不知道大神们有什么解决方法吗?谢谢大家。
查看完整描述

1 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

component destroy 的时候 unsubscribe 啊


查看完整回答
反对 回复 2018-10-20
  • 1 回答
  • 0 关注
  • 1169 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信