Angularjs ng在数组对象内重复数组对象
在我的index.html文件中,我们使用两个ng repeat文件从data.json获取数据 在这种方法中,每个数据都创建了重复的DOM 如何在my index.html中使用单ng repeat而不是双ng repeatAngularjs ng在数组对象内重复数组对象,angularjs,angularjs-ng-repeat,ng-repeat,Angularjs,Angularjs Ng Repeat,Ng Repeat,在我的index.html文件中,我们使用两个ng repeat文件从data.json获取数据 在这种方法中,每个数据都创建了重复的DOM 如何在my index.html中使用单ng repeat而不是双ng repeat <div ng-repeat="x in userdata"> <item data="y" ng-repeat="y in x.content"></item> </div> 您可以在js中为每个
<div ng-repeat="x in userdata">
<item data="y" ng-repeat="y in x.content"></item>
</div>
您可以在js中为每个对象使用嵌套的angular,因此您可以使用单个ng repeat来使用final scope
Database.getDatabase().success(function(data){
$scope.userdata=data.document;
$scope.sample = [];
angular.forEach($scope.userdata, function(content) {
angular.forEach(content.content, function(content) {
$scope.sample.push(content);
})
})
}).error(function(){
});
现在您可以使用示例作为循环
<div ng-repeat="x in sample">
{{x.content}}
</div>
{{x.content}}
代替
$scope.userdata=data.document,您可以执行以下操作:
$scope.userdata = data.document.reduce(function(a, b) {
return a.concat(b.content);
}, []);
这将把所有内容
放在同一个数组中。并准确地使用您在plunker中的评论
<item data="x" ng-repeat="x in userdata"></item>
以下是您的更新创建一个包含内容的地图,并将其作为另一个对象添加到文档中
var createMap = function(list) {
var map = {};
for(var i =0;i <list.length ; i++) {
map[list[i].name] = list[i].content;
}
return map;
};
Database.getDatabase().success(function(data){
for(var i =0;i <data.document.length ; i++) {
data.document[i]['userdata'] = createMap(data.document[i].content);
}
$scope.userdata=data.document;
console.log($scope.userdata);
}).error(function(){
});
var createMap=函数(列表){
var-map={};
对于(var i=0;i您希望输出的准确程度如何?我希望以单个ng重复获取每个对象,但我的代码获取每个结果时使用一个ng-repeat@jos:我想使用单ng重复来获得相同的结果results@CodeMan您需要准备数据,而不是userdata
它应该是所有内容
数组的串联imo@codeMan你的c内容数组可以转换为一个映射,其中名称是键,内容是值。将此映射添加到数组中并重复。我只有两个“内容”数组对象可在“文档”中保存,因此我只需重复两次。与我的相比,每次ng重复我都需要获得所有细节,如“内容”和“名称”