有时为了减少事件监听的数量,我们不想用@HostListener
装饰器为每个组件实例都绑定事件。
这时需要我们用Renderer2
的listen
方法在构造函数或ngOnInit
中手动绑定事件。
constructor(renderer: Renderer2, elementRef: ElementRef) {
if(myCondition) {
let even=renderer.listen(elementRef.nativeElement, 'click', () => {
console.log('Callback');
});
}
}
//移除绑定
even();