我有表格,我正在执行ng-repeat并从服务器获取数据
<tr ng-repeat="assetsdetail in detailAssets | filter: {IND_RECORD_TYPE : !RUNNING}:true">
<td>{{assetsdetail.MASTER_ASSET_TYPE}}</td>
<td>{{assetsdetail.MINOR_ASSET_TYPE}}</td>
<td>{{assetsdetail.DETAIL_ASSET_TYPE}}</td>
<td>{{assetsdetail.PRODUCT_DESC}}</td>
<td>{{assetsdetail.VENDOR_NAME}}</td>
<td>{{assetsdetail.IND_RECORD_TYPE}}</td>
</tr>
我想在这里实现的是我希望所有数据除了拥有的数据之外 运行的IND_RECORD_TYPE。我到目前为止未能实现这一点,是他们在视野中做到这一点的简单方法吗?
答案 0 :(得分:1)
嗯,你不需要过滤器。一个简单的 ng-show 可以做到如下:
foreach( TrainingDetails trainingDetails in selectedTrainingDay.trainingDetails) {
// Do stuff with the trainingDetails
}
但是,如果你坚持使用过滤器,你可以这样做:
<tr ng-repeat="assetsdetail in detailAssets" ng-hide="assetsdetail.IND_RECORD_TYPE == 'RUNNING'">
<td>{{assetsdetail.MASTER_ASSET_TYPE}}</td>
<td>{{assetsdetail.MINOR_ASSET_TYPE}}</td>
<td>{{assetsdetail.DETAIL_ASSET_TYPE}}</td>
<td>{{assetsdetail.PRODUCT_DESC}}</td>
<td>{{assetsdetail.VENDOR_NAME}}</td>
<td>{{assetsdetail.IND_RECORD_TYPE}}</td>
</tr>
在控制器中,声明一个函数'filterItem',如下所示:
<tr ng-repeat="assetsdetail in detailAssets | filter: filterItem">
<td>{{assetsdetail.MASTER_ASSET_TYPE}}</td>
<td>{{assetsdetail.MINOR_ASSET_TYPE}}</td>
<td>{{assetsdetail.DETAIL_ASSET_TYPE}}</td>
<td>{{assetsdetail.PRODUCT_DESC}}</td>
<td>{{assetsdetail.VENDOR_NAME}}</td>
<td>{{assetsdetail.IND_RECORD_TYPE}}</td>
</tr>
这个函数的作用是它需要数组的每个'item',如果要显示它,则返回true;如果要隐藏它,则返回false。您案例中的'项'为'assetsdetail'
答案 1 :(得分:1)
更改
filter: {IND_RECORD_TYPE : !RUNNING}
到
filter: {IND_RECORD_TYPE : '!RUNNING'}