【发布时间】:2022-02-06 19:36:05
【问题描述】:
第一次单击竖起大拇指时会出现“谢谢”弹出框,但即使将触发器设置为“无”,第二次单击竖起大拇指时它仍然会出现
重现步骤:
- 点击任意点赞,将出现“谢谢”弹出框
- 点击白色区域以外的任意位置以关闭“谢谢”弹出窗口
- 再次点击竖起大拇指,“谢谢”弹出框仍然出现
在代码中,我设置了自己的自定义指令,以有条件地设置弹出框触发器,这样当单击一次竖起大拇指时,它将弹出框触发器设置为“无”: 在 Element 选项卡中检查 popover-trigger 确实设置为 none。
html中的代码:
<span ng-click="sendFeedback(false, result.id)"
uib-popover="Thanks"
popover-trigger="'outsideClick'"
...
my-directive
shown="this.shown[result.id]">
</span>
控制器中的代码:
feedbackApp.directive('myDirective', function () {
return {
restrict: 'A',
scope: {
shown: '=',
},
link: function(scope, element, attrs) {
scope.$watch('shown', function(shown) {
if (shown)
attrs.$set('popover-trigger', "none");
}
});
}
};
});
底线是如果用户打算撤消竖起的拇指,则不应出现“谢谢”弹出窗口
【问题讨论】:
-
第一个提示:您的代码无效。它有语法错误,无法运行。
-
popover-trigger=" show ? 'outsideClick' : 'none'"呢? -
@svarog 这不起作用,因为
popover-trigger没有观察者。
标签: javascript angularjs angular-ui-bootstrap popover