我有一个指令检查指令模板中3个输入字段的条件,并使用$ setValidity来禁用保存按钮,并为其中一个字段提供颜色; 在角度1.2中,这有效:
template: '<input type="text" size="8" ng-model="date.date" ng-change="checkDateInput();" ng-class="{\'ng-invalid\': $invalid}" ui-mask="9999-99-99" placeholder="yyyy-mm-dd">'
我们现在切换到Angular 1.3,而不是直接使用$ setValidity进行操作,而是使用$ validators(1.3中的新内容)。
更干净,但现在增加了课间休息;当我在指令模板中打印$ error或$ invalid时它不存在,而当我使用指令外的那些时,它们给出了正确的布尔值。
任何人都知道如何在1.3中访问指令模板中的ngModel属性?
答案 0 :(得分:2)
你错误地添加了这个类:
ng-class="{\'ng-invalid\': $invalid}" ui-mask="9999-99-99" placeholder="yyyy-mm-dd">'
应该是
ng-class="{'ng-invalid': $invalid}" ui-mask="9999-99-99" placeholder="yyyy-mm-dd">'
还尝试将表单的名称放在$ invalid之前,例如
myFormName.$invalid