我有一个输入,它使用带有过滤器的ng-value
来显示数字。
<input ng-value="myDataCollection | customFilter">
如果是否定的话,我还想应用ng-class
将文字颜色更改为红色。
<input ng-value="myDataCollection | customFilter" ng-class="{'negative-input': (myDataCollection | customFilter) < 0}">
这样可行,但在我的用例中,过滤器有很多工作要做,以计算结果值。输入也是一个大的嵌套ng-repeat
,所以性能是一个问题。
是否可以根据ng-class
设置的输入结果值使用ng-value
,而不必两次运行过滤器?
答案 0 :(得分:0)
这就是我的建议。您可以直接过滤值并将其保存在某个模型变量中。所以,就像你将运行过滤一次数据集,然后在任何你想要的地方使用它。
$scope.filteredData = yourFilterFunction(yourDataCollection);//this will be filtered data values
<input ng-value="filteredData" ng-class="{ filteredData < 0 ? 'negative-input': ''}">
答案 1 :(得分:-1)
如果我没有误解逻辑,你可以使用ng-model
代替ng-value
。
这里有一点plunker给你。