【问题标题】:How do you filter an object of objects with unique keys in an angular ng-repeat?如何在角度 ng-repeat 中过滤具有唯一键的对象对象?
【发布时间】:2023-04-02 06:53:01
【问题描述】:

所以我想弄清楚如何在有角度的 ng-repeat 中找到对象的对象。

数据

$scope.data = {key1:value1, key2:value2, key3:value3};
$scope.filterStr = 'ey';

NG-重复

<div ng-repeat="(val, key) in data | filter:filterStr"></div>

这显然不起作用,因为过滤器需要一个数组而不是对象,但我想知道如何在不将数据转换为数组的情况下执行此操作。

【问题讨论】:

    标签: angularjs filter angularjs-ng-repeat ng-repeat


    【解决方案1】:

    我想通了,我需要创建一个自定义过滤器。下面的代码效果很好。

    自定义过滤器

    angular.module('ui.global')
    .filter('objFilter', function () {
      return function (obj, param) {
        var newObj = {};
        if(param){
          for(var key in obj){
            if(key.toLowerCase().includes(param.toLowerCase())){
              newObj[key] = obj[key];
            }
          }
        } else {
          newObj = obj;
        }
        return newObj;
      };
    });
    

    数据

    $scope.data = {key1:value1, key2:value2, key3:value3};
    $scope.filterStr = 'ey';
    

    NG-重复

    <div ng-repeat="(val, key) in data | objFilter:filterStr"></div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-28
      • 1970-01-01
      • 1970-01-01
      • 2019-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多