我有以下代码,我使用 ng-repeat 循环并映射一些 json 值,rows
是 json 数据,其中 columns
与我想要显示的键匹配:
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:
<div ng-app ng-controller="MyCtrl">
<div ng-repeat="row in rows">
<div ng-repeat="column in columns">
{{row[column.field]}}
</div>
</div>
</div>
示例:http://jsfiddle.net/dakra/U3pVM/
我的问题是:如何显示/表示嵌套值。这就是我想要实现的目标:http://jsfiddle.net/GCSHA/10/我使用 user.company
获取公司名称。
例如:
function MyCtrl($scope) {
$scope.rows = [{"name": "tom", "user": {"company": "test"}}]
$scope.columns = [{"title":"Title","field":"name"},{"title":"Company","field":"user.company"}];
}
因此在上面的示例中,异常(exception)的输出是:
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;
}
这里的工作示例: http://jsfiddle.net/GCSHA/12/
关于javascript - 使用 ng-repeat 映射嵌套值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35293783/