0

我有一个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而不必通过过滤器两次?

4

2 回答 2

0

这就是我的建议。您可以直接过滤值并将其保存在某个模型变量中。所以就像您将在您的数据收集上运行一次过滤器,然后在您想要的任何地方使用它。

$scope.filteredData = yourFilterFunction(yourDataCollection);//this will be filtered data values

 <input ng-value="filteredData" ng-class="{ filteredData < 0 ? 'negative-input': ''}">
于 2017-02-02T11:46:58.757 回答
-1

如果我没有弄错你可以使用的逻辑ng-model而不是ng-value.

这是给你的一个小插曲

于 2017-02-02T12:29:37.757 回答