AngularJS:如果element具有ngModel和custom指令,则双向数据绑定失败

时间:2013-03-14 20:35:05

标签: data-binding angularjs angularjs-directive angularjs-scope

我在AngularJS中设置了两个指令来设置自定义错误消息:

错误 - >显示表单的错误消息

错误消息 - >在输入

上设置自定义错误消息

出于某种原因,每当我向元素添加error-message指令时,ng-model绑定不再起作用(但验证确实如此)。

请参阅此处http://jsfiddle.net/apohl/A8Vgk/111/

请帮助:)

1 个答案:

答案 0 :(得分:5)

问题是您的errorMessage指令使用隔离范围。隔离范围影响整个元素,因此ngModel指令正在隔离范围内进行评估 - 显然无法工作 - 模型位于父范围内。

我不确定你为何在此建立了隔离范围。由于您尝试创建必须与其他指令交互的组件,因此隔离范围不是最佳选择。由于errorMessage不会影响当前范围,因此您可能不需要任何已定义的范围,但如果您愿意,可以使用子范围。

看一下here,详细了解何时在指令上使用每种类型的范围。