我正在尝试将一些JSON数据推送到列表whiteout的范围(在点击加载下一项btw之后)附加到列表和列表上(使用Ionic框架和infiniteScroll)
有人可以告诉我,我做错了什么以及如何将新的清单项追加到最后?
感谢您的任何建议。
JSON数组示例:
var fakeListData = [
{ "DATE" : testDateTimeFormated,
"NUMBER_OF_ALL_CALLS" : 25,
"RESULT_DONE" : 0,
"RESULT_NOT_INTERESTED" : 0,
"RESULT_NO_APP" : 0
},
{ "DATE" : testDateTimeFormated,
"NUMBER_OF_ALL_CALLS" : 0,
"RESULT_DONE" : 0,
"RESULT_NOT_INTERESTED" : 0,
"RESULT_NO_APP" : 0
}];
项目填写:
// Option one (throwing Chrome sendrequest error: TypeError: Converting circular structure to JSON)
$scope.listData.push(fakeListData);
// Option two (crash browser)
angular.forEach(fakeListData,function(item) {
$scope.listData.push(item);
});
答案 0 :(得分:1)
试试这个
$scope.listData=[];
fakeListData.forEach(function(item){
$scope.listData.push(item);
})
答案 1 :(得分:0)
我们可以将更多项目推送到现有数组中,但语法应如下所示:
// instead of this
// $scope.listData.push(fakeListData);
// we should use this
[].push.apply($scope.listData, fakeListData);
注意:另外,使用Angular JS也很重要。
如果我们想要清除数组,同时保持对它的引用,我们应该这样做
// instead of this, which creates new array/new reference
// $scope.listData = [];
// we should use this, which will keep the reference, but clear its content
$scope.listData.length = 0
这样我们就可以在$ scope生命周期内重新填充数组,所有角度表都会正确地反映它