Angular UI Bootstrap - 模态不会在第一次点击时弹出
Posted
技术标签:
【中文标题】Angular UI Bootstrap - 模态不会在第一次点击时弹出【英文标题】:Angular UI Bootstrap - modal doesn't pop on the first click 【发布时间】:2013-05-18 02:38:04 【问题描述】:我正在尝试为登录/注册表单制作一个模式,并想做一些可重复使用的东西,我遇到了this blog post,它通过制作指令来完成。我使用它以及 angular-ui-bootstrap 文档来制作我的模态。它确实有效,但是当我第一次单击按钮弹出模式时,它不起作用。我可以看到使用 Batarang 创建的范围,但没有弹出任何内容。随后的点击确实有效,如果我有 2 个按钮,无论我先按哪个,它都不起作用,之后任何一个都起作用。
我编了一个plnkr 来展示这一点。我正在使用模板等,所以我添加了这些。可以看到,按“注册”或“登录”不会弹出模态框,但是如果再次点击,模态框就会弹出。您还可以看到使用 Batarang 在首次按下时创建的范围。
提前感谢您的帮助!
编辑: 我发现了更多可能有用的信息。第一次点击链接时,scope.closeFormModal 被调用。
【问题讨论】:
这个工作有过吗?对我来说同样的问题。我将其追溯到 $modal.open().then 代码。它与在动画事件上触发的承诺有关。我把它归为虫子,改用角带。 是的,实际上我也是这样做的。 Angular-ui-bootstrap 和 bootstrap 都尝试捕捉点击,1 捕捉第一次点击,让通过事件但下一个也在等待点击... 【参考方案1】:尝试添加:
scope.$watch(
function ()
return scope.formModal;
,
function (newData, oldData)
if (newData === oldData)
return;
if (newData)
$compile($element.contents())(scope);
);
链接从 $compile 函数返回的函数。
【讨论】:
以上是关于Angular UI Bootstrap - 模态不会在第一次点击时弹出的主要内容,如果未能解决你的问题,请参考以下文章
angular-ui-bootstrap model 模态框出现的位置怎么调整
如何在 Angular UI Bootstrap 中增加模态宽度?
Angular UI Bootstrap - 模态不会在第一次点击时弹出
在模态中编辑现有联系人(bootstrap-ui angular)