AngularJS处理关系JSON

时间:2014-01-12 19:53:06

标签: json angularjs

我有一个基于Codeigniter的REST API。我用它来提取我的MySQL数据库作为JSON,我想在AngularJS中使用JSON数据。

在数据库中,我有两个表;类别和帖子。我保留帖子表中每个帖子的类别ID。使用PHP,我只会编写一个处理函数,它将id作为参数获取,并通过连接数据库输出类别名称。

现在我想在AngularJS中做类似的事情。我创建了两个JSON对象,一个只保存生日值,另一个保存生日和名字。我想将生日作为参数,并使用ng-repeat输出名称。我试着写一个自定义过滤器函数,就像这样;

$scope.custom = function (user) {
  for (var i = 0; i < $scope.birthdays.length; i++) {
     if ($scope.birthdays[i].birthday == user.birthday) {
        return $scope.users[i].name;
     }
  }
};

但我想这是一个非常错误的做法。那么这样做的方式是什么?或者有办法吗?

感谢您提前抽出时间。

1 个答案:

答案 0 :(得分:0)

我使用angular.forEach()并应用像{{row.category | custom}}

这样的过滤器解决了这个问题
angular.module('angtestApp')
.filter('custom', function () {
    return function (input, $scope) {
        var name= null;
        angular.forEach($scope.categories, function(value, key){
            if(value.id == input) {
               name = value.name;
            }
        });
        return name;
    }
});