使用 ng 重复映射嵌套值
Mapping nested values with ng-repeat
我有以下代码,我使用 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"}];
}
因此,在上面的例子中,例外输出是:
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/
问题是{{row[column.field]}}
转换为{{row[user.company"]}}
。这是不正确的。应该是{{row[user][company]"]}}
相关文章:
- immutable.js与嵌套映射/对象的比较/相等性能
- 有没有一种简单的方法可以用Lodash映射嵌套数据
- 挖空映射 - 使用键唯一标识嵌套对象
- 通过Javascript中的递归迭代映射嵌套JSON
- 将多个链接表映射到嵌套的JQuery手风琴
- KNOCKOUTJS 映射嵌套元素不是绑定的
- 从数组中的键遍历嵌套映射/对象
- 使用 ng 重复映射嵌套值
- 映射嵌套的 KO 视图模型
- 映射到嵌套组件的 Elm 效果
- 如何映射嵌套对象的数组
- 嵌套json的Knockout映射
- 在Immutable.js映射中查找嵌套对象的最佳方法
- Node.js automapper ts包未映射嵌套对象/属性
- 映射和绑定嵌套对象和数组
- 使用forEach、映射或筛选器克隆和操作嵌套对象,而不修改原始对象
- 在嵌套映射中的作用域
- 在json数据中获取嵌套映射
- 嵌套映射和筛选方法
- 存储实例用于嵌套映射/对象