Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ng repeat映射嵌套值_Javascript_Angularjs - Fatal编程技术网

Javascript 使用ng repeat映射嵌套值

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

我有以下代码,其中我使用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":"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;

}