如何使AngularJS在嵌套属性上进行筛选

How can I make AngularJS filter on a nested property

本文关键字:筛选 属性 嵌套 何使 AngularJS      更新时间:2023-09-26

我有一些数据,其中一次迭代如下:

{"createDate":"2014-04-22T08:14:10.285Z",
 "desc":"Hej hej",
 "gradeFrom":"4",
 "gradeTo":"7",
 "owner":"martin@forsstedt.com",
 "schoolType":{
     "name":"Grundskola"
  },
 "subject":{ 
     "En":false,
     "Ge":false,
     "Re":true,
     "Sh":false,
     "SvA":false,
     "Tn":false
  },
 "title":"Testing testing"}

我想做的是,当用户单击一个按钮,该按钮用"Re":true填充$scope.searchText时,只应显示其中带有"subject"的"迭代":{"Re":true)

我用搜索字符串进行过滤,效果很好,但它不会过滤"主题",只过滤第一层属性,如"createDate"、"desc"等

<tr ng-repeat="lesson in lessons | orderByPriority | filter:searchText | orderBy:'createDate':true">

只填充$scope.searchText.subject.RE = true,过滤器完成其余操作。