Angular 角度7-发射器和轮询器(调用两次)
事件发射器和轮询器有问题 在我的过滤组件中,我有:Angular 角度7-发射器和轮询器(调用两次),angular,Angular,事件发射器和轮询器有问题 在我的过滤组件中,我有: ngOnInit() { this.map_ready_subscription = this._eventEmitterService.map_ready.subscribe(value => this.firstSearch()); this.poller_source = interval(60000); //refreshing map every 1 minute this.poller_subs
ngOnInit()
{
this.map_ready_subscription = this._eventEmitterService.map_ready.subscribe(value => this.firstSearch());
this.poller_source = interval(60000); //refreshing map every 1 minute
this.poller_subscribe = this.poller_source.subscribe(val => this.applyFilter());
}
firstSearch()
{
this.map_ready_subscription.unsubscribe();
this.applyFilter();
}
map_ready在另一个具有“true”值的组件中发出。当映射组件就绪时,我可以使用默认的过滤器值启动第一次搜索
正如您从代码中看到的,然后我创建了一个轮询器,以每60秒刷新一次过滤器
在我的前端,我有一个过滤器值更改的表单。单击我调用applyFilter
问题在于民意调查者。
一分钟后,applyFilter每次调用两次。一个具有“firstSearch”参数,另一个具有当前筛选器值
正如你们所看到的,我在第一次搜索时尝试从emitter取消订阅,但它不起作用。
我也在onDestroy中添加了一个取消订阅:
ngOnDestroy()
{
if (this.poller_subscribe !== undefined)
{
this.poller_subscribe.unsubscribe();
}
}
有什么线索吗?您说使用不同的参数调用了两次applyFilter,但在您的代码片段中,调用applyFilter时没有参数?参数是表单组件与ngModel使用的组件的局部变量