У меня есть таблица, которую я выполняю 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 RUNNING. Я до сих пор не смог этого добиться, это их простой способ сделать это?
Ну, для этого вам не нужен фильтр. Простое ng-show может сделать трюк следующим образом:
<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>
Однако, если вы не можете использовать фильтр здесь, как вы можете это сделать:
<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>
И в вашем контроллере объявите функцию "filterItem" следующим образом:
$scope.filterItem = function(item) {
if(item.IND_RECORD_TYPE == 'RUNNING') {
return false;
}
return true;
}
Что делает эта функция, так это то, что она берет каждый "элемент" массива и возвращает true, если вы хотите отобразить его или false, если вы хотите скрыть его. "Элемент" в вашем случае - "assetdetail"
изменение
filter: {IND_RECORD_TYPE : !RUNNING}
в
filter: {IND_RECORD_TYPE : '!RUNNING'}