Angular 2检查元素可见性

时间:2016-10-18 15:58:02

标签: angular components element visibility

如何检查屏幕上是否显示元素(或组件)?

在特定情况下,我在引导程序下拉列表中有一个组件,并且我希望我的组件仅在下拉列表打开时执行某些操作(但我不想使用对下拉项的引用)。

1 个答案:

答案 0 :(得分:0)

如果你还没有,我会使用ng-bootstrap,特别是NgbDropdown组件。

https://ng-bootstrap.github.io/#/components/dropdown

它有一个openChange事件,当菜单打开或关闭时会触发该事件,您可以监听该事件并触发自己的逻辑。

它还有一个isOpen方法,您可以检查菜单是否打开。

如果这些选项无法解决问题,您可以禁用下拉按钮本身,并创建自己的按钮以切换下拉列表并使用手动触发器打开菜单并启动自定义逻辑,然后停止你的逻辑和关闭菜单,虽然小心使看起来像标准的界面元素以一种奇怪的方式表现,因为这会使用户感到困惑。