现在我有一组复杂的对象,它们在对象中有对象。我尝试使用输入字段来过滤列表(在ng-repeat中),但出于某种原因,我只能从顶层获得结果。
[
{
"id": 1,
"guid": "a97f722e-cef4-a125-351b-77c281c88556",
"groups": [
{
"name": "Another Test",
"id": 1
},
{
"name": "Angular",
"id": 9
}
],
"addresses": [
{
street: "123 Test Ave",
city: "New York",
state: "New York"
}
]
},
{
"id": 2,
"guid": "a97fbbbb-cccc-a125-351b-77c281c88556",
"groups": [
{
"name": "Garbage",
"id": 2,
"stuff": [
{
"name": "Dennis",
"anothernest": [
{
"test": "Bob"
},
{
"test": "Bob2"
}
]
}
]
},
{
"name": "Test",
"id": 7
}
],
"addresses": [
{
"street": "345 Test Ave",
"city": "Los Angeles",
"state": "California"
}
]
}
]
这是一种类似的结构(尽管是简化的)。出于某种原因,虽然基于搜索过滤任何这些嵌套对象都没有问题:http://jsfiddle.net/7aeL2yd2/
什么会阻止我在更大的数据结构上这样做?
修改 看起来它是一个Angular 1.3问题。它适用于1.2,但当我将其升级到1.3(就像我的应用程序一样)时,它不再有效。 http://jsfiddle.net/7aeL2yd2/2/
答案 0 :(得分:2)
这个问题是七天前在GitHub上提出的:
fix(filterFilter): filter deep object by string
它看起来像是在12小时前检查过它:
fix(filterFilter): make $
match properties on deeper levels as well
我真的不知道AngularJS的构建工作流程是如何工作的,或者他们如何发布全新版本,但无论如何,看起来你的问题的解决方案正在酝酿之中。与此同时,也许你可以使用版本1.2?