javascript - 从 AngularJS Controller 中的嵌套 json 获取父数据

标签 javascript json angularjs

作为我的标题,我想从嵌套的 json 中获取父数据。 我知道如何在 HTML 中做到这一点。我想知道如何在 Controller 中做到这一点。

这是我的嵌套 json 指令

.factory('dataFac', function(){
return {
    parents : [{
        name: 'George',
        age: 44,
        children: [{
            name: 'Jack',
            age: 16
        },{
            name: 'Amy',
            age: 13
        }]
    }, {
        name: 'Jimmy',
        age: 38,
        children: [{
            name: 'Max',
            age: 7              
        },{
            name: 'Lily',
            age: 5
        },{
            name: 'Kim',
            age: 4
        }]
    }]
}})

Controller

.controller('dataCtrl', function($scope, $location, dataFac) {
  $scope.data = dataFac.parents;

  //here I'd like to get name of parents
  $scope. = ;

  //here I'd like to get name of children
  $scope. = ;

  //and when I get the data of the children, I can get their parents' name
  $scope. = ;

  console.log($scope.navbars.id);

  $scope.isActive = function(route) {
      return route === $location.path();
  };})

感谢有人可以提供帮助。

最佳答案

您可以使用 angularjs 中的 forEach 函数并循环 json 数据来获取 parent 的姓名和 child 的姓名。,

这是代码

app.controller('myController', function($scope, dataFac) {
 $scope.data = dataFac.parents;
 $scope.parentsName = [];
 $scope.childName = [];
//here I'd like to get name of parents

 angular.forEach(dataFac.parents, function(parent) {
    $scope.parentsName.push({
     name: parent.name
    });
     angular.forEach(parent.children, function(child) {
      //here I'd like to get name of children

      $scope.childName.push({
       childName: child.name,
       parentName: parent.name
      });
    });
 });
});

更新: 如果需要,请将父级名称插入子级数组并从那里访问它。

这是带有代码的工作插件

http://embed.plnkr.co/9HCJy554oTSKxrdtiNR4/preview

希望这有帮助!

关于javascript - 从 AngularJS Controller 中的嵌套 json 获取父数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30315881/

相关文章:

javascript - 在 Angular JS 中的特定页面上加载 jQuery 插件

javascript - ng-show 内容在页面加载期间闪烁,尽管它不是真实的并且 ng-cloak 不适用于 FF

javascript - 缓存的最佳实践。避免冗余缓存?

javascript - 无法获取未定义的属性 "userResponse"

javascript - 不使用集合将服务器端计算结果返回给客户端

javascript - 要存储到数组中的 JSON 对象

javascript - JSON.parse(json_string_from_php) 产生奇怪的数组

javascript - Adblocker 屏蔽了我的 Angular 网站 (Google Analytics)

javascript - 无效状态错误: Failed to execute 'dispatchEvent' on 'EventTarget'

javascript - 如何将数据从 Ajax 弹出窗口传递到父页面?