我试图找出采用我作为范围存储的json对象的最佳方法,并过滤/查询它以显示其中的特定数据。
例如:
$scope.myBook = {"bookName": "Whatever",
"pages": [
{"pageid": 1, "pageBody": "html content for the page", "pageTitle": "Page 1"},
{"pageid": 2, "pageBody": "html content for the page", "pageTitle": "Page 2"},
{"pageid": 3, "pageBody": "html content for the page", "pageTitle": "Page 3"},
]
}
我如何抓取pageid的对象:2?
答案 0 :(得分:1)
您可以使用此方法:
模板:
<div ng-repeat="page in myBook.pages | filter:pageMatch(pageid)">
{{ page.pageBody }}
</div>
范围:
$scope.pageMatch = function(pageid) {
return function(page) {
return page.pageid === pageid;
};
};
将pageid
设置为filter:pageMatch(pageid)
中所需的值,以显示必要的页面内容。
答案 1 :(得分:0)
function getPage (id) {
angular.forEach($scope.myBook.pages, function (page, pageIndex) {
if (page.pageId == id) {
console.log("Do something here.");
return page;
}
});
}
否则。 。
$scope.myBook.pages[1];
答案 2 :(得分:0)
我最后问了AngularJS IRC - 其中一个人把这个傻瓜放在一起正是我想要的。
道具https://github.com/robwormald以获得答案。
/* See PLNKR Link Above for the answer */