我正在尝试为登录/注册表单创建一个模式,并希望创建可重用的东西,我遇到了this blog post,它通过制定指令。我使用它以及angular-ui-bootstrap文档来制作我的模态。它确实有效,但是当我第一次单击按钮弹出模态时,它不起作用。我可以看到使用Batarang创建范围,但没有任何东西弹出。后续点击确实有效,如果我有2个按钮,无论我先按哪个按钮,它都不起作用,之后任何一个按钮都有效。
我编造了plnkr来证明这一点。我正在使用模板等,所以我添加了这些。您可以看到按“注册”或“登录”不会弹出模态,但如果再次单击,模式会弹出。您还可以在第一次按下Batarang时看到创建的范围。
提前感谢您的帮助!
编辑: 我发现了一些可能有用的信息。第一次单击链接时,会调用scope.closeFormModal。
答案 0 :(得分:0)
尝试添加:
scope.$watch(
function () {
return scope.formModal;
},
function (newData, oldData) {
if (newData === oldData) {
return;
}
if (newData) {
$compile($element.contents())(scope);
}
});
链接从$ compile函数返回的函数。