背景:
由于使用原生addEventListener方法会导致this指向有问题,并且无法移除事件监听,导致事件多次绑定,影响性能,而es6中都是箭头函数,所以ng6中可以使用使用rxjs
一、package.json
node版本:8.10.0
angular版本:6.0.7
rxjs版本:6.2.1
二、代码实现
1 import { fromEvent } from 'rxjs'; 2 3 // 绑定页面点击事件 4 monitorClick() { 5 this.$pageClick = fromEvent(document, 'click').subscribe(() => { 6 // 7 }); 8 } 9 10 // 移除页面点击事件 11 removeClick() { 12 if (this.$pageClick) { 13 this.$pageClick.unsubscribe(); 14 } 15 }