我有我的角度是這樣如何篩選從嵌套對象的結果角度
{
"name": "John"
"age" : "23"
subjects: [
{
"description":"Math"
"length":"1 month"
},
{
"description":"English"
"length":"1 month"
}
]
}
IN角嵌套對象filter
正常工作與name, age
,但我怎麼能找到這些學生,其主題描述包含數學
我有我的角度是這樣如何篩選從嵌套對象的結果角度
{
"name": "John"
"age" : "23"
subjects: [
{
"description":"Math"
"length":"1 month"
},
{
"description":"English"
"length":"1 month"
}
]
}
IN角嵌套對象filter
正常工作與name, age
,但我怎麼能找到這些學生,其主題描述包含數學
不知道這是否真的是一個角度問題 - 您需要一種方法來解析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);});
關於filters的文檔頁面有一個有趣的例子。
在這裏面,搜索框的NG-模式設置爲搜索。$代替搜索的。這似乎是匹配的通配符。
這是你的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"
}]
}];
,如果你想在任何屬性過濾器的工作原理。 但是,如果您只想過濾1個特定屬性(如主題描述),您將如何去做? – Kenny 2013-07-14 15:00:57