Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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 使用ngRepeat的复杂嵌套行表_Javascript_Angularjs - Fatal编程技术网

Javascript 使用ngRepeat的复杂嵌套行表

Javascript 使用ngRepeat的复杂嵌套行表,javascript,angularjs,Javascript,Angularjs,我有一个像这样的对象: { "10": {}, "12": { "20": { "value": 1, "id": 1, }, "100": { "value": 12, "id": 1, } }, "14": { "100": { "value": 14,

我有一个像这样的对象:

{
    "10": {},
    "12": {
        "20": {
            "value": 1,
            "id": 1,
        },
        "100": {
            "value": 12,
            "id": 1,
        }
    },
    "14": {
        "100": {
            "value": 14,
            "id": 2,
        }
    },
    "16": {},
    "18": {},
    "20": {
        "100": {
            "value": 23,
            "id": 1,
        },
        "150": {
            "value": 56,
            "id": 3,
        }
    },
    "22": {},
    "24": {},
    "26": {
        "50": {
...
我想基于此对象创建一个如下所示的表:

{
    "10": {},
    "12": {
        "20": {
            "value": 1,
            "id": 1,
        },
        "100": {
            "value": 12,
            "id": 1,
        }
    },
    "14": {
        "100": {
            "value": 14,
            "id": 2,
        }
    },
    "16": {},
    "18": {},
    "20": {
        "100": {
            "value": 23,
            "id": 1,
        },
        "150": {
            "value": 56,
            "id": 3,
        }
    },
    "22": {},
    "24": {},
    "26": {
        "50": {
...

但是,我不知道如何通过使用正确的重复组合来创建此表。我目前正在尝试:

<table>
    <thead>
        <tr>
            <th>type</th>
            <th>module</th>
            <th>value</th>
            <th>id</th>
        </tr>
    </thead>
    <tbody>

        <tr ng-repeat-start="(row1, value1) in TestData">
            <td rowspan="{{value1.length}}">{{row1}}</td>
            <td ng-repeat="(label2, value2) in value1">{{label2}}</td>
        </tr>
    </tbody>
</table>

类型
模块
价值
身份证件
{{row1}}
{{label2}}

乍一看,您可以通过插入一个
(更多信息请参见此处:)

var myAppModule=angular.module('myApp',[]).controller('MyController',MyController);
函数MyController(){
// https://stackoverflow.com/questions/1345939/how-do-i-count-a-javascript-objects-attributes
this.objectCount=函数(obj){
返回Object.keys(obj.length);
}
此参数。数据={
"10": {},
"12": {
"20": {
“价值”:1,
“id”:1,
},
"100": {
“价值”:12,
“id”:1,
},
"200": {
“价值”:120,
“id”:10,
}
},
"14": {
"100": {
“价值”:14,
“id”:2,
}
},
"16": {},
"18": {},
"20": {
"100": {
“价值”:23,
“id”:1,
},
"150": {
“价值”:56,
“id”:3,
}
},
"22": {},
"24": {}
};
}
表格,
th,
运输署{
边框:1px纯黑;
}
桌子{
边界塌陷:塌陷;
}

类型
模块
价值
身份证件
{{row1}}
{{row1}}
{{row2}}
{{value2.value}
{{value2.id}

Hi Cyril,感谢您的输入。实际上,我需要表格大致与我发布的一样,带有嵌套行。我可以在合理的范围内随意更改数据,但仍然无法实现我想要的。因此,这只是重复的12和20,这是问题所在?不完全是,这就是我使用ngRepeat的原因。每个原始对象,例如对象12,最多可以有6种模式,在得到它之前我无法知道。我已经更新了代码,12现在有3种模式,并且打印得很好