我有一个Angular 2应用https://github.com/DanWahlin/Angular-JumpStart。我试图为我的一些用例修补Element.prototype.addEventListener。
这是补丁:
var origLis = Element.prototype.addEventListener;
Element.prototype.addEventListener = function(type, handler, useCapture) {
console.log("Added");
return origLis.apply(this, arguments);
}
如果我修补 Element.prototype.addEventListener ,它会破坏Angular 2应用。应用中没有发送资源/ XHR。我在许多Angular 2应用程序上试过这个。但是,同样的结果。控制台中没有错误
有人知道为什么会发生这种情况吗?有解决办法吗?
PS:我不想修补 EventTarget.prototype.addEventListener ,如此处所述
Angular 2 application breaks when HTMLElement.prototype.addEventListener is modified
答案 0 :(得分:1)
如果你尝试使用补丁addEventListener,不要在Element.prototype上执行,你可以在EventTarget.prototype上执行。在Angular中,zone.js monkey-patch EventTarget.prototype.addEventListener使更改检测工作,因此如果修改Element.prototype将破坏角度默认行为。