【发布时间】:2014-09-11 19:48:29
【问题描述】:
我正在使用 ngRepeat 生成表格行来迭代数据数组。此迭代使用我制作的多列过滤器进行过滤。表的列由嵌套的 ngRepeat 创建,该 ngRepeat 遍历列数组。每个单元格的值可能会传递给“查找”过滤器,以将单元格的数据值转换为“完成”值。 (就像将'Y'转换为'Yes'和'N'转换为'No'。转换不限于'Yes'或'No'类型的东西。有几种不同的。)
看起来像这样:
<tr ng-repeat="row in data | multiColumnFilter : filters">
<td ng-repeat="column in columns | orderBy : 'order'">
<span ng-if="column.lookup">{{row[column.alias] | lookup : column.lookup}}</span>
<span ng-if="!column.lookup">{{row[column.alias]}}</span>
</td>
</tr>
我的问题是这样的:
我希望用户能够根据表格单元格中的可见文本过滤表格的内容,例如“是”或“否”。但是数据数组中存储的是'Y'或'N'。
我试图避免预先转换我的数组,因为我还想保留原始数据值以用于应用程序的其他部分。
我怀疑我需要保留一组表示转换后的值的冗余数据。考虑到它的开销(它是一个大型数据数组),我宁愿找到一种方法来过滤视图值,而不是数据值。
【问题讨论】:
-
可以简单地使用标记中的
:将参数添加到您的过滤器以匹配函数中的参数位置