angular - ngZone或zone.js:猴子修补的地方?

原文 标签 angular zone.js ngzone

我在学习ngzone如何在角度上工作。
我知道它正在对标准异步操作(如setTimeout)进行猴子修补。
但是谁在给猴子打补丁呢?js库还是ngzone中的角度本身?
如果您能在源代码中显示发生这种情况的特定位置,那就太好了。

最佳答案

angular运行zone.js中的区域,zone.js提供了一个带有修补api的作用域。
您可以自己使用zone.run(...)而无需任何角度,并获得修补api的所有效果。
另见https://github.com/angular/zone.js/
修补计时器的代码
https://github.com/angular/zone.js/blob/master/lib/common/timers.ts#L22

关于angular - ngZone或zone.js:猴子修补的地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47123402/

相关文章:

javascript - web-pack 错误时 src/polyfills.ts(73,1) : error TS2304: Cannot find name 'global' . [ng] src/polyfills.ts(73,17) 中的错误:

angular - Angular 2 中 EventEmitter.next() 和 EventEmitter.emit() 的区别

angular - 如何使用 Protractor 检查元素是否存在?

angular - 使用 ng2-semantic-ui 在选择中加载的远程选项不起作用

javascript - NgZone 不再有效

javascript - 如何在 Angular 7 中编码包含特殊字符的查询参数?

angular - 在 Angular 区域外运行 ngrx/effect 以防止 Protractor 超时

javascript - 如何在 Angular 2+ 和 ES2015 模块中导入和使用 zone.js

angular - NullInjectorError : No provider for NgZone!(Angular 6 库)