【问题标题】:AngularJS $filter for nested fields does not work as expected用于嵌套字段的 AngularJS $filter 无法按预期工作
【发布时间】:2016-07-21 15:01:19
【问题描述】:

我想根据名称过滤我的商店对象。但是“名称”字段嵌套如下:

name: {
    "en": "name english",
    "tr": "name turkish"
}

和 params.filter() 是: name.en:"eng"

如果我这样过滤:

$filter('filter')($scope.shops, params.filter())

结果是一个空数组。

我哪里错了?

【问题讨论】:

    标签: angularjs angularjs-filter


    【解决方案1】:

    Angular 的过滤器作用于数组,而不是对象。做你需要的,只要你是用javascript做的,都可以这样完成

    $scope.shops[params.filter()];

    【讨论】:

      【解决方案2】:

      我认为您的语法不正确,请尝试这样做。

      $filter('filter')($scope.shops, {name: en})[0];

      这应该返回对象中的第一个值。

      【讨论】:

      • 但我需要的是在 name.en 字段中搜索。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-13
      • 1970-01-01
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      • 2020-03-20
      • 1970-01-01
      相关资源
      最近更新 更多