首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何手动触发事件并进行变更检测?

如何手动触发事件并进行变更检测?
EN

Stack Overflow用户
提问于 2018-05-26 04:46:43
回答 1查看 563关注 0票数 1

当我拖动组件的根元素时,假设组件中存在一个拖动侦听器,例如:

@HostListener('drag', ['event'])
onDrag(e) { ... }

每次事件发生时,更改检测也会发生,因为事件是异步操作。

但是,当手动触发拖动事件时,我似乎无法进行更改检测。

let event = new Event('drag');
fixture.nativeElement.dispatchEvent(event);

这将调用拖动侦听器,但不会触发更改检测。

为了清楚起见,我知道我可以手动触发事件,然后也可以手动调用detectChanges(),但我希望事件触发更改检测,就像在现实生活场景中一样。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-31 06:50:51

我错了,fixture.nativeElement.dispatchEvent(event);确实触发了变化检测。在监视component.ngZone.run时,这一点很容易看出。

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

https://stackoverflow.com/questions/50536651

复制
相关文章

相似问题

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