过滤对象数据angularjs

filter object data angularjs

本文关键字:angularjs 数据 对象 过滤      更新时间:2023-09-26

我想通过条形码过滤我的库存,我可以这样做吗?这里的要点是,如果我传递的条形码等于库存[i]条形码(在服务器中),那么将$scope.inventories更改为只有条形码匹配的条形码。然后是$scope。库存仅由匹配的条形码库存组成。

有一些疯狂的错误。任何帮助,如何过滤对象数据?

$scope.inventories = new Inventory().query().$object;
$scope.filter = function(barcode) {
        for(var i = 0; i < $scope.inventories.length; i++){
            if($scope.inventories[i].barcode == barcode){
                $scope.inventories = $scope.inventories[i];
            } 
        }
    };
模板

<ul ng-repeat="inventory in inventories">
    <li><a href="" ng-click="filter(inventory.barcode)">{{inventory.barcode}}</a></li>
</ul>

为筛选项创建不同的变量名

    $scope.filter = function(barcode) {
        var filtered = [];
        for(var i = 0; i < $scope.inventories.length; i++){
            if($scope.inventories[i].barcode == barcode){
                filtered.push($scope.inventories[i]);
            } 
        }
        $scope.filtered_inventories = filtered;
    };

定义过滤器:

$scope.filterByBarcode = function(list, barcode) {
    return list.filter(function(item){
        return item.barcode === barcode;
    });
};

过滤器在ng-repeat:

<ul ng-repeat="inventory in filterByBarcode(inventories, barcode)">
    <li><a href="" ng-click="inventory">{{inventory.barcode}}</a></li>  <!-- Not sure if this is what you want to display --> 
</ul>