在angularjs中推入数组时,content [i]未定义

时间:2017-08-27 11:39:09

标签: javascript angularjs json

我有json数据,如下所示

var data = [{
    id: 1,
    name: 'mobile',
    parentid: 0,
    limit:3
  }, {
    id: 2,
    name: 'samsung',
    parentid: 1
  }, {
    id: 3,
    name: 'moto',
    parentid: 1
  }, {
    id: 4,
    name: 'redmi',
    parentid: 1
  }, {
    id: 5,
    name: 'honor',
    parentid: 1
  }, {
    id: 6,
    name: 'tv',
    parentid: 0,
    limit:3
  }, {
    id: 7,
    name: 'tv1',
    parentid: 6
  }, {
    id: 8,
    name: 'tv2',
    parentid: 6
  }, {
    id: 9,
    name: 'tv3',
    parentid: 6
  }, {
    id: 10,
    name: 'tv4',
    parentid: 6
  }, {
    id: 11,
    name: 'tv5',
    parentid: 6
  }];

我从json那里拿走了parentid为零并在ng-repeat中做了一个循环

    $scope.cat = categories.filter(function(category) {
        return category && category.parentId === 0
    });

我为这个类别创建了ng-repeat。我点击类别所有相应的子类别被推入数组但是当我试图将我的数据推入数组时我收到错误

$scope.category_modal = function(id)
{
    for(var i =0;i<=$scope.content.length;i++)
    {
        if($scope.content[i].parentId === id && typeof $scope.content[i] != 'undefined')
        {
            $scope.newcat.push($scope.content[i]);
        }
    }
}

我的观看页面如下所示

<div ng-repeat="item in cat">
{{item.name}}
<button ng-click="category_modal(item.parentid)"></button>
</div>

这里我收到一个错误,因为$ scope.content [i]未定义

1 个答案:

答案 0 :(得分:0)

您是否在$ scope.content中获取值? 如果是,请检查您是否正确宣布

$scope.content = [];