我有一个选择列表,使用ngOptions和'track by'功能,像这样:
<select validdate="{{date}}" ng-model="code" ng-options="code.description for code in codelist track by code.value">
<option value=""></option>
</select>
code对象具有各种属性,包括确定代码有效性的开始日期和结束日期。有一个单独的'date'属性用于检查代码是否可以被选中。对于这个validdate指令,我需要整个对象,因此我使用track by,而不能使用'as'来填充ng-model属性。
除了初始的空值之外,这可以正常工作。
当验证返回false(并相应地标记选择框),然后用户选择空值时,验证不会被重置。
验证器不会被调用,即使ng-model属性'code'从一个对象变为一个空值。由于跟踪by,它似乎没有触发验证指令。有人知道解决这个问题的方法吗?
这是我使用的Angular 1.3.8版本中的一个bug。升级解决了这个问题,但是作为参考,这个JS Fiddle显示了这个错误(并且更改版本可以解决这个错误)http://jsfiddle.net/2tvy2jgh/1/
enter code here