使用popover指令时Angular绑定不起作用

时间:2014-08-02 22:09:14

标签: javascript angularjs angular-ui-bootstrap mean-stack

我在AngularJS应用程序中的表单中有这个输入字段:

<input type="text" data-ng-model="githubRepoUrl" id="githubRepoUrl" class="form-control" placeholder=" popover="Popover text here." popover-placement="top" popover-trigger="focus" required>

popover就像魅力一样,但在提交表单时,我无法访问githubRepoUrl属性,该属性被声明为字段的data-ng-model。 AngularJS根本就没有绑定它。但是,如果我只删除popover="Popover text here."绑定将起作用,我可以访问控制器中attrivute的值。我可以保留其余与popover相关的属性,绑定也可以。

请注意,我使用的是angular-ui-bootstrap,并且我没有在Angular控制器中声明githubRepoUrl属性。尽管如此,表单中的其余属性可以在不在控制器中声明它们的情况下正常访问,因为它们默认添加到范围中。

关于这里可能发生什么的任何事情?感谢所有人的帮助。

1 个答案:

答案 0 :(得分:3)

我的猜测是你正在使用的popover指令有一个独立的范围,所以你的模型只在指令中声明。使用 ng-model 添加$parent名称前缀将在指令的父级中声明模型。示例如下:

<input type="text" data-ng-model="$parent.githubRepoUrl" id="githubRepoUrl" class="form-control" placeholder=" popover="Popover text here." popover-placement="top" popover-trigger="focus" required>