AngularJS: как дать массив значений для фильтрации

Как передать массив значений в качестве фильтра в angularjs

Мой сценарий

кухни json: ["food", "Alcohol","Thai"]

catorigeres json :["home", "office","school"]

ценности с кухнями и категориями :

[{
    "_id": "1",
    "businessTypeName": "Pizza Hut",
    "cus_name": ["food","Thai"],
    "cat_name": ["home", "school"],

}, {
    "_id": "2",
    "businessTypeName": "Chicken Hut",
    "cus_name":["Alcohol","Thai"],
    "cat_name": ["office", "home"],
}, {
    "_id": "3",
    "businessTypeName": "Fish Hut",
    "bussiness_url": "/dist/images/loop_image_sample_3.png",
    "cus_name": ["Thai"],
    "cat_name": ["office", "school"],

}]

кухни и категории в флажке, если я нажму кто-нибудь он добавит массив значений в {{selected}}

мой вопрос — как фильтровать значения в {{selected}}listing_loop div

мой планкер демо

1 ответ

  1. Я не думаю, что вы можете сделать это только в html.

    В область можно добавить функцию фильтрации:

    $scope.customFilter = function(value, index, array) {
          // make sure `value.id` is a string
          return ["food","Thai","Alcohol"].indexOf(value.id);
    }
    

    и использование как это в HTML

    <div ng-repeat="set in get | filter:customFilter"></div>