角度 ng选项'track by'和空值验证问题



我有一个选择列表,使用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

最新更新