修改Angular 2 Component的HostListener事件

时间:2016-12-12 15:56:40

标签: angular

我正在寻找一种方法来修改第三方组件中现有HostListener的触发事件,而无需修改组件的源代码。

我正在使用来自Yang Yang Yu(https://www.npmjs.com/package/angular2-ui-switch)的伟大UI-Switch for Angular 2,但我必须支持一个设备,因为点击事件不会在浏览器中触发。只有鼠标点火(不要问我细节,故事是关于我无法更新的旧触摸屏驱动程序)。

所以问题是:Angular 2中是否有一种方法可以在运行时修改@HostListener而无需修改源代码(由于可能的未来更新问题,我希望避免这种情况)。

UI-Switch的相关代码:

  @HostListener('click')
  onToggle() {
    if (this.disabled) return;
    this.checked = !this.checked;
    this.change.emit(this.checked);
    this.onChangeCallback(this.checked);
    this.onTouchedCallback(this.checked);
  }

我想做什么:我希望@HostListener能够监听mouseup事件,如下所示:

  @HostListener('mouseup')    

有没有办法在运行时修改其他组件的@HostListeners?

0 个答案:

没有答案