그래서 다음과 같은 json 데이터가 있습니다.
{
"id": 2,
"itemList": [
{
"id": 7,
"name": "xx",
"extraInfo": "45",
"tax": 21.00,
"price": null,
"oneTimeItem": false,
"fkIdUserItem": 2,
"purchasePrice": 45.00,
"priceWorkhour": 43.00,
"isItemWorkhour": true,
"quantity": 45,
"quantityKeepTrack": true,
"vat": 21.00
},
{
"id": 8,
"name": "5",
"extraInfo": "454",
"tax": 0.10,
"price": 10.11,
"oneTimeItem": false,
"fkIdUserItem": 2,
"purchasePrice": 0.16,
"priceWorkhour": 6.00,
"isItemWorkhour": false,
"quantity": 1,
"quantityKeepTrack": true,
"vat": 0.10
},
{
"id": 9,
"name": "Kussen",
"extraInfo": null,
"tax": 21.00,
"price": 20.00,
"oneTimeItem": false,
"fkIdUserItem": 2,
"purchasePrice": 15.00,
"priceWorkhour": 45.20,
"isItemWorkhour": false,
"quantity": 100,
"quantityKeepTrack": true,
"vat": 21.00
},
{
"id": 10,
"name": "45",
"extraInfo": "45",
"tax": 4.00,
"price": 45.00,
"oneTimeItem": false,
"fkIdUserItem": 2,
"purchasePrice": 0.00,
"priceWorkhour": null,
"isItemWorkhour": false,
"quantity": null,
"quantityKeepTrack": false,
"vat": 4.00
}
],
"email": "2@2",
"password": null,
"lastName": "2",
"firstName": "2",
"authority": "USER_ROLE",
"enabled": true
}
하지만 지금은 예를 들어 가격이 null이 아닌 경우 데이터를 정렬하고 싶습니다. 데이터가 표 1에 표시되고 데이터가 표 2에 표시됩니다.
목록을 localstorage에 저장했지만 어떻게 진행할 수 있는지 좋은 예를 찾을 수 없습니다.
이제 데이터가 다음과 같이 테이블에 저장됩니다.
self.tableParams = new NgTableParams({}, {
filterDelay: 0,
data: $localStorage.itemArray
});
하지만 가격 상태에 따라 필터를 추가하고 싶습니다. 모든 아이디어
NULL / NOT NULL을 필터링하려면 다음 synthax를 사용할 수 있습니다.
//return all non-null objects becuse !!(null) === Not(Not(false)) === false
<div ng-repeat="item in data.itemList | filter:{ price: '!'}">
//return all null objects becuse !(null) === Not(false) === true
<div ng-repeat="item in data.itemList | filter:{ price: '!!'}">
var app = angular.module('App', []);
app.controller('Ctrl', function($scope) {
$scope.data = {
"id": 2,
"itemList": [{
"id": 7,
"name": "xx",
"extraInfo": "45",
"tax": 21.00,
"price": null,
"oneTimeItem": false,
"fkIdUserItem": 2,
"purchasePrice": 45.00,
"priceWorkhour": 43.00,
"isItemWorkhour": true,
"quantity": 45,
"quantityKeepTrack": true,
"vat": 21.00
}, {
"id": 8,
"name": "5",
"extraInfo": "454",
"tax": 0.10,
"price": 10.11,
"oneTimeItem": false,
"fkIdUserItem": 2,
"purchasePrice": 0.16,
"priceWorkhour": 6.00,
"isItemWorkhour": false,
"quantity": 1,
"quantityKeepTrack": true,
"vat": 0.10
}, {
"id": 9,
"name": "Kussen",
"extraInfo": null,
"tax": 21.00,
"price": 20.00,
"oneTimeItem": false,
"fkIdUserItem": 2,
"purchasePrice": 15.00,
"priceWorkhour": 45.20,
"isItemWorkhour": false,
"quantity": 100,
"quantityKeepTrack": true,
"vat": 21.00
}, {
"id": 10,
"name": "45",
"extraInfo": "45",
"tax": 4.00,
"price": 45.00,
"oneTimeItem": false,
"fkIdUserItem": 2,
"purchasePrice": 0.00,
"priceWorkhour": null,
"isItemWorkhour": false,
"quantity": null,
"quantityKeepTrack": false,
"vat": 4.00
}],
"email": "2@2",
"password": null,
"lastName": "2",
"firstName": "2",
"authority": "USER_ROLE",
"enabled": true
};
});
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<body ng-app="App" ng-controller="Ctrl">
NOT NULL
<div ng-repeat="item in data.itemList | filter:{ price: '!!'}">
{{item.id}}
</div>
NULL
<div ng-repeat="item in data.itemList | filter:{ price: '!'}">
{{item.id}}
</div>
</body>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다