将Angular 8中polyfills.ts中的zonejs“监听”事件列表涂黑

时间:2019-10-23 06:55:54

标签: angular

我一直在尝试找出如何停止Angular中的mousemove事件触发更改检测。 提到一些文章,我可以通过在polyfills.ts中添加一行来实现此目的:
(window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['mousemove'];

我已经在stackblitz中尝试过了,并且效果很好。 但是,棘手的部分是,如果我在本地创建一个Angular项目并执行完全相同的操作,则根本无法使用。即使我在polyfills.ts中添加了上面的行,它也始终在mousemove事件上触发更改检测。

我想念什么?任何见识将不胜感激!

1 个答案:

答案 0 :(得分:1)

感谢@jialipassion,设法将其钉住。

  1. 创建一个新文件zone-flag.ts,与polyfills.ts处于同一级别
  2. (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['mousemove'];中添加zone-flag.ts
// in zone-flag.ts
(window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['mousemove'];
  1. import './zone-flag'中添加polyfills.ts
// in polyfills.ts
import './zone-flag';
import 'zone.js/dist/zone'; // Included with Angular CLI.

希望这对可能在这里导航的人有所帮助。