Javascript 使用ng repeat映射嵌套值
我有以下代码,其中我使用ng repeat循环并映射一些json值,Javascript 使用ng repeat映射嵌套值,javascript,angularjs,Javascript,Angularjs,我有以下代码,其中我使用ng repeat循环并映射一些json值,行是json数据,其中列与我要显示的键匹配: function MyCtrl($scope) { $scope.rows = [{"name": "tom","date": "now"}, {"name": "jack","date": "now"}]; angular.toJson($scope.rows); $scope.columns = [{"title":"Title","field":"n
行
是json数据,其中列
与我要显示的键匹配:
function MyCtrl($scope) {
$scope.rows = [{"name": "tom","date": "now"}, {"name": "jack","date": "now"}];
angular.toJson($scope.rows);
$scope.columns = [{"title":"Title","field":"name"},{"title":"Date","field":"date"}];
}
HTML:
因此,在上述示例中,例外输出为:
Tom
Test
问题是
{row[column.field]}
转换为{row[user.company]}
。这是不正确的。它应该是{row[user][company]]}
您可以使用小实用程序方法重复读取属性
大概是这样的:
$scope.readProperty = function(obj, prop) {
var newObj = obj;
var props = prop.split('.');
for(var i = 0; i<props.length; i++) {
newObj = newObj[props[i]];
}
return newObj;
}
$scope.readProperty=函数(obj,prop){
var newObj=obj;
var props=prop.split('.');
对于(var i=0;i预期的输出是什么?不需要嵌套ng repeats
,只需组合数据并在其上重复一次。因此,您需要拆分用户。公司
,即找到点
?是,如Nils所指定。
Tom
Test
$scope.readProperty = function(obj, prop) {
var newObj = obj;
var props = prop.split('.');
for(var i = 0; i<props.length; i++) {
newObj = newObj[props[i]];
}
return newObj;
}