我有一个项目数组。这些项中的一些是某些其他“父项”的“子项”。我不是从服务器重新排列JSON,而是尝试只过滤ng-repeat循环中的结果。每一项都有一个id和一个"father_id“属性。如果该属性的值为0,则表示它是一个父元素。问题是,我没有设法过滤内部循环,它依赖于来自父循环的一些值。
这是我在父循环中得到的,它工作得很好:
ng-repeat="fatherEvent in pageInitialAjaxContent | filter:{father_id:0}"这将显示"father_id“为0的所有元素,这意味着它们没有父元素,这使它们本身成为父元素。
在内部循环中,我尝试这样做,但没有成功:
ng-repeat="ChildEvent in pageInitialAjaxContent | filter:{father_id:fatherEvent.id}"这意味着过滤条目,其父ID对应于父条目的ID。它给了我出乎意料的结果。
有人能告诉我构建这个表达式的正确方式是什么吗?
发布于 2018-01-16 02:09:16
我认为您需要像这样重新构造第二个ng-repeat。
ng-repeat="ChildEvent in pageInitialAjaxContent | filter:{father_id:fatherEvent.id}:true"
:true检查完全匹配,而默认的:false检查子字符串匹配。
查看文档here中的comparator参数
https://stackoverflow.com/questions/48268337
复制相似问题