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

apo*_*ohl 8 data-binding angularjs angularjs-directive angularjs-scope

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

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

错误消息 - >在输入上设置自定义错误消息

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

见这里http://jsfiddle.net/apohl/A8Vgk/111/

请帮忙 :)

Jos*_*ler 5

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

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

看一看这里,了解何时在指令上使用每种类型的范围.