我想将以下内容写入包含字段'项目'
的数据库中$scope.variable = [[1,2],[3,4]];
项目的值= 1,2,3,4而不是[1,2],[3,4]
当我把它写成angular.toJson($scope.variable)
时,它确实被分开了,但我怎么把它重复为1,2和3,4而不是[[1,2],[3,4]] < / p>
这不起作用:
<tr ng-repeat="x in dbValues"><td>{{x.items}}</td></tr>
答案 0 :(得分:2)
要在html上获取填充的二维数组,您需要进行两次重复
<强> HTML 强>
<tr ng-repeat="item in data track by $index">
<td ng-repeat="subItem in item">{{subItem}}</td>
</tr>
<强>更新强>
对于像{ "_id" : ObjectId("550ec51fd8b9bff112000006"), "items" : "[[\"a\"],[\"a\",\"b\"]]", "__v" : 0 }
你需要来自它的items数组,并且里面的项包含在dimentional数组中,基本上你需要展平该数组。使用角度自定义滤镜
可以很容易地实现过滤强>
.filter('flattenarray', function(){
return function(valuesString){
var jsonValues = angular.fromJson(valuesString), returnValue = [];
angular.forEach(jsonValues, function(value, index){
angular.forEach(value, function(v, i){
returnValue.push(v);
});
});
return returnValue;
}
});
然后在标记上使用此过滤器来展平项目对象
<强>标记强>
<tr ng-repeat="item in data track by $index">
<td ng-repeat="subItem in item.items | flattenarray track by $index">{{subItem}}</td>
</tr>