使用绑定函数删除EventListener

时间:2019-08-18 05:21:20

标签: javascript angular ionic-framework

我正在听这样的deviceorientationabsolute事件(在ngOnInit上):

 this.deviceOrientationEvent = this.onDeviceOrientation.bind(this);
 window.addEventListener("deviceorientationabsolute", this.deviceOrientationEvent);

我想停止收听ngOnDestroy上的该事件。我尝试过:

window.removeEventListener("deviceorientationabsolute", this.deviceOrientationEvent);

但是我仍然可以在控制台中看到它正在监听事件。

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

代替使用window.addEventListener方法进行处理,您可以使用@HostListener进行如下处理

@HostListener('window:deviceorientationabsolute', ['$event'])
deviceOrientationAbsoluteEvent(event) { ... }

销毁组件时,它将自动删除

请参阅:https://stackoverflow.com/a/41032388/9380944的答案以获取更多详细信息。