【发布时间】:2017-12-29 00:01:43
【问题描述】:
我一直在玩uib-popover,但不知道如何检测弹出框何时显示或关闭。对于常规引导弹出窗口,它似乎没有像“shown.bs.open/hidden”这样的事件。
有没有办法做到这一点我错过了?
弹出框本身的显示是在点击时显示的,但无论它是打开还是关闭,显然此时始终不可见。请注意,我正在附加到正文。
谢谢
【问题讨论】:
标签: angularjs angular-ui-bootstrap
我一直在玩uib-popover,但不知道如何检测弹出框何时显示或关闭。对于常规引导弹出窗口,它似乎没有像“shown.bs.open/hidden”这样的事件。
有没有办法做到这一点我错过了?
弹出框本身的显示是在点击时显示的,但无论它是打开还是关闭,显然此时始终不可见。请注意,我正在附加到正文。
谢谢
【问题讨论】:
标签: angularjs angular-ui-bootstrap
我认为您正在寻找 popover-is-open 子指令
来自文档
popover-is-open (默认: false) - 是否显示弹出框。
注意这个子指令应用了一个观察者
此设置应用了一个角度 $watch 侦听器。
这里是如何使用它
<button uib-popover="I am activated manually"
popover-is-open="isOpen2"
type="button" class="btn btn-default">
Toggle popover
</button>
你可以在你的控制器中初始化它
$scope.isOpen2 = false; // or true
【讨论】:
isOpen2 只是一些绑定到作用域的变量,您可以在一些数据结构(如数组)中包含许多变量,这些数据结构将绑定到您喜欢的弹出框数量。 can you have isOpen2 be a hashtable and then tie popover-is-open to isOpen2[some-identifier],不是真的,但您可以使用 ng-repeat="(key, value) in obj" 进行类似的操作,然后使用 popover-is-open="key"