深入研究Angular中的JSON对象

时间:2014-07-21 00:11:51

标签: javascript angularjs

我试图找出采用我作为范围存储的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?

3 个答案:

答案 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 - 其中一个人把这个傻瓜放在一起正是我想要的。

Plnkr Example

道具https://github.com/robwormald以获得答案。

/* See PLNKR Link Above for the answer */