我的角度中有嵌套对象,如下所示
{
"name": "John"
"age" : "23"
subjects: [
{
"description":"Math"
"length":"1 month"
},
{
"description":"English"
"length":"1 month"
}
]
}
在角度方面,filter
工作正常,name, age
但我怎样才能找到那些学科描述包含数学的学生
我的角度中有嵌套对象,如下所示
{
"name": "John"
"age" : "23"
subjects: [
{
"description":"Math"
"length":"1 month"
},
{
"description":"English"
"length":"1 month"
}
]
}
在角度方面,filter
工作正常,name, age
但我怎样才能找到那些学科描述包含数学的学生
过滤器的文档页面有一个有趣的例子。
其中,搜索框的 ng-model 设置为search.$而不是search。这似乎是匹配的通配符。
这是给你的jsFiddle。在搜索框中输入任何内容,它就会找到匹配的学生。
<input id="txtSearch" type="text" ng-model="search.$" />
<ol>
<li ng-repeat="student in myData | filter:search">
{{student.name}}
{{student.subjects}}
</li>
</ol>
数据模型如下所示:
$scope.myData = [{
"name": "Student 1",
"age": "20",
subjects: [{
"description": "Math",
"length": "1 month"
}, {
"description": "English",
"length": "1 month"
}]
}, {
"name": "Student 2",
"age": "22",
subjects: [{
"description": "Economics",
"length": "1 month"
}, {
"description": "English",
"length": "3 months"
}]
}, {
"name": "Student 3",
"age": "23",
subjects: [{
"description": "Math",
"length": "4 months"
}, {
"description": "English",
"length": "6 months"
}]
}];
不确定这是否真的是一个 Angular 问题 - 您需要一种方法来解析 javascript 中的原始 json 数据。
一种方法是使用像 Underscore 这样的函数库,它提供类似函数的实用程序来执行这些操作。
有关示例,请参阅http://jsfiddle.net/9W5YF/2/ ,并查看http://underscorejs.org以获取有关下划线的文档。
var studentsDoingMaths = _.filter(json, function (student) {
var doingMaths = doingSubject("Math");
return subjectSearch(student, doingMaths);});