在AngularJS中从JSON / REST调用查询相关数据的推荐方法

时间:2015-01-13 01:17:41

标签: javascript json angularjs rest

我有两个相关的数据源,我通过REST检索它们来创建JSON输出。一个是类别列表,第二个是文章列表。类别可能包含许多文章。

我想按类别查询文章。例如,按类别计算所有文章。对此最好/推荐的方法是什么?在jQuery世界中,我可以嵌套AJAX调用并传递来自第一个AJAX调用的变量。

以下是我的服务:

// Categories
pfcServices.factory('pfcArticleCategories', ['$resource', function ($resource) {
    return $resource('https://myrestcall.net/tables/categories', {},
    {
        'update': { method: 'PATCH' }
    }
    );
}]);   

// All Articles
pfcServices.factory('pfcArticles', ['$resource', function ($resource) {
    return $resource('https://myrestcall.net/tables/articles', {},
    {
        'update': { method: 'PATCH' }
    }
    );
}]);

以下是一些控制器:

// Retrive categories
pfcControllers.controller('pfcCategoriesCtrl', ['$scope', 'pfcArticleCategories', function ($scope, pfcArticleCategories) {
$scope.categories = pfcArticleCategories.query();
}]);

// All Articles for Counts, Large Queries, etc.
pfcControllers.controller('pfcArticlesCtrl', ['$scope', 'pfcArticles', function ($scope, pfcArticles) {
$scope.articles = pfcArticles.query();
}]);

'pfcArticlesCtrl'中的嵌套函数会起作用吗?我觉得这不是推荐的方法。例如:

pfcControllers.controller('pfcArticlesCtrl', ['$scope', 'pfcArticles', 'pfcArticleCategories', function ($scope, pfcArticles, pfcArticleCategories) {
$scope.categories = pfcArticleCategories.query();    
$scope.articles = pfcArticles.query();
var val = [];

angular.forEach(categories, function (value, key) {
    var catid = value.catid

    angular.forEach(articles, function (v, k) {
        if (value.articlecategoryid == catid) {
        // count number of articles and psuh them to an array of val to be referenced by $scope.count using ng-repeat
        }
    }, val);
}

$scope.count = val;

}]);

0 个答案:

没有答案