Angular 2.删除@Hostlistener() [英] Angular 2. Remove @Hostlistener()
本文介绍了Angular 2.删除@Hostlistener()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在Angular 2中删除 @Hostlistener(),就像在Native JS中使用 removeEventListener 一样?
How can I removed @Hostlistener() in Angular 2, like used removeEventListener in Native JS?
示例:
我的页面中有很多dropDown组件。当dropDown打开时,我想在文档点击事件上添加处理程序,并在dropDown关闭时删除处理程序。
原生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?
推荐答案
Julia Passynkova答案几乎是正确的。
Julia Passynkova Answer is almost correct.
只需删除document周围的引号,如下所示:
Just remove the quotation marks around "document", like this:
// subscribe
this.handler = this.renderer.listen(document, "click", event =>{...});
// unsubscribe
this.handler();
这篇关于Angular 2.删除@Hostlistener()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文