背景:
由於使用原生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 }