Angular UI Bootstrap - 第一次单击时不会弹出模态

时间:2013-05-22 21:39:40

标签: angularjs angular-ui-bootstrap

我正在尝试为登录/注册表单创建一个模式,并希望创建可重用的东西,我遇到了this blog post,它通过制定指令。我使用它以及angular-ui-bootstrap文档来制作我的模态。它确实有效,但是当我第一次单击按钮弹出模态时,它不起作用。我可以看到使用Batarang创建范围,但没有任何东西弹出。后续点击确实有效,如果我有2个按钮,无论我先按哪个按钮,它都不起作用,之后任何一个按钮都有效。

我编造了plnkr来证明这一点。我正在使用模板等,所以我添加了这些。您可以看到按“注册”或“登录”不会弹出模态,但如果再次单击,模式会弹出。您还可以在第一次按下Batarang时看到创建的范围。

提前感谢您的帮助!

编辑: 我发现了一些可能有用的信息。第一次单击链接时,会调用scope.closeFormModal。

1 个答案:

答案 0 :(得分:0)

尝试添加:

 scope.$watch(
    function () {
        return scope.formModal;
    },
    function (newData, oldData) {
        if (newData === oldData) {
            return;
        }
        if (newData) {
            $compile($element.contents())(scope);
        }
    });

链接从$ compile函数返回的函数。