javascript - 在 ng-click 上使用数组过滤多个 Angularjs

标签 javascript angularjs json

我有两个对象。 //首先是项目

{
 catId : [1, 2, 3],
 name : "My name is George"
},
{
 catId : 1,
 name : "My name is Bob"
},
{
 catId : 2,
 name : "My name is Trump"
}

对于catId json

{
 Id : 1,
 name : "Hi"
},
{
 Id : 3,
 name : "world"
}

我希望当用户在 ng-repeat 之后单击类别 json 并在使用类别.Id 过滤我的项目对象后获取类别 id。

https://plnkr.co/edit/x2O3Q4AA33xwbeqFupAM?p=preview

最佳答案

尝试这样

// Code goes here

var app = angular.module('app', []);

app.controller('myController', function($scope){
  $scope.items = [
          {
            Name: "My name is George",
            catId: [ 1, 3, 7 ]
          },
          {
            Name: "My name is Bob",
            catId: 1
          },
          {
            Name: "My name is Trump",
            catId: 2
          }];

  $scope.cats = [
          {
            Name: "Hello",
            Id: 1
          },
          {
            Name: "World",
            Id: 3
          }];
          
          $scope.setCatFilter = function(id){
           $scope.catFilter = id; 
          }
          
          
})
/* Styles go here */

span {
  width: 20px;
  display: inline-block;
  cursor: pointer;
  padding: 5px;
  text-align: center;
  margin-right: 5px;
  background: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="myController">
    <div>Filter items</div>
    <span ng-repeat="cat in cats" ng-click="setCatFilter(cat.Id)">{{cat.Id}}</span>
    <div>Category</div>
    <input type="text" ng-model = "serachName">
    <div ng-repeat="item in items | filter:{catId:catFilter,Name:serachName}">
      {{item.Name}}
    </div>
  </div>

关于javascript - 在 ng-click 上使用数组过滤多个 Angularjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41790199/

相关文章:

c# - 不支持的媒体类型 web api 发布

javascript - 表中的 Angular 重复

javascript - Ember filterBy - 使用多个值进行过滤

javascript - 是什么阻碍了代码每次都以相同的持续时间执行?

javascript - Ecmascript 6 带有 Promise 的递归函数

javascript - 属性更改时不触发指令

javascript - 如何将来自 Mongoose 的 JSON 映射到 Vue 和 Quasar?

javascript - Chrome 内容脚本(去)/激活

javascript - 组合框和bindStore的存储过滤

javascript - 在 Angular JS 中使用 HTML 版本控制渲染动态 UI