content[i] 在 AngularJS 中推送到数组时是未定义的



我有如下所示的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.whgen 我单击类别所有相应的子类别推送到数组中,但是当我尝试将数据推送到数组中时,出现错误

$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]未定义

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

$scope.content = [];

最新更新