如何删除由ngx-bootstrap dropdownToggle添加的文档单击事件处理程序?

时间:2018-10-25 08:23:57

标签: javascript angular ngx-bootstrap

我正在使用ngx-bootstrap v1.9.1并在Angular 2上工作。我发现在文档中任何位置的每次单击中,整个应用程序都会触发更改检测。 (只是控制台登录了我的App Component的(master) $ git rebase master branch (branch) $ # Rebased. Notice checkout. 中)。在浏览器中检查事件侦听器时,我发现在ngDoCheck()上添加了多个click侦听器。当呈现的组件数量增加时,这些单击处理程序将导致发生巨大的更改检测,从而使应用程序变得非常慢。

通过消除方法,我发现是document指令附加了文档单击处理程序。在为ngx-bootstrap引用docs时,我发现它们提供了一种配置,如果我单击文档上的其他任何地方,下拉列表都不会关闭。

dropdownToggle

这很好用,因为如果单击文档的其他位置下拉菜单不会关闭,但是附加到文档的事件侦听器仍然存在,因此我的整个问题仍然相同!我点击屏幕更改检测的任何地方都会被触发。

在保持dropdownToggle的使用状态下,有什么方法可以删除那些处理程序?还是我应该借助自定义下拉菜单?

0 个答案:

没有答案