【发布时间】:2016-09-28 08:16:14
【问题描述】:
我在过滤嵌套对象时遇到了一些问题。在选择中,我选择过滤器参数(对象值),在输入中我键入一些在对象键中搜索它的文本。
尝试使用递归编写自定义过滤器以进行深度搜索,但它不起作用。
input 是 ng-repeat 中对象的参数,param1 是 select 的 ng-model,param2 是 input 的 ng-model。
JS
.filter('personFilter', function($filter) {
return function(input, param1, param2) {
var output = {};
for (var prop in input) {
if (typeof input[prop] == 'object' || prop != param1 && input[prop] != param2) {
$filter('personFilter')(input[prop]);
} else {
output[key] = input[key];
}
}
return output;
}
这是 plunker:http://plnkr.co/edit/83lPNRWFy6wa9U2FkMfH?p=preview
希望有人给我一些建议
【问题讨论】:
-
似乎数据格式无效。你应该得到一个像
Uncaught SyntaxError: Unexpected token :这样的错误,因为格式可能像[{'node1': {node2: ''}}]而不是['node1': {...}]
标签: angularjs