如何在Angular 2中删除 @Hostlistener() ,就像在Native JS中使用 removeEventListener 一样?
Example: 我的页面中有很多dropDown组件 . 当dropDown打开时,我想在文档点击事件上添加处理程序,并在dropDown关闭时删除处理程序 .
Native JS:
function handler(){
//do something
}
document.addEventListener('click', handler); // add handler
document.removeEventListener('click', handler); // remove handler
Angular 2:
@HostListener('document: click') onDocumentClick () {
// do something
}
// How can I remove handler?
2 回答
你可能需要手动添加/删除监听器
Julia Passynkova答案几乎是正确的 .
只需删除“document”周围的引号,如下所示: