以下是我尝试在ng-repeat和print键中进行迭代的对象数组,但无法这样做。
$scope.directivesInfo = [
{"ngRepeat": {"enter": true, "leave": true, "move": true, "add": false, "remove": false}},
{"ngView": {"enter": true, "leave": true, "move": false, "add": false, "remove": false}},
{"ngInclude": {"enter": true, "leave": true, "move": false, "add": false, "remove": false}},
{"ngSwitch": {"enter": true, "leave": true, "move": false, "add": false, "remove": false}},
{"ngIf": {"enter": true, "leave": true, "move": false, "add": false, "remove": false}},
{"ngClass": {"enter": false, "leave": false, "move": false, "add": true, "remove": true}},
{"ngShow/ngHide": {"enter": false, "leave": false, "move": false, "add": true, "remove": true}},
{"form/ngModel": {"enter": false, "leave": false, "move": false, "add": true, "remove": true}},
{"ngMessages": {"enter": false, "leave": false, "move": false, "add": true, "remove": true}},
{"ngMessage": {"enter": true, "leave": true, "move": false, "add": false, "remove": false}},
];
我认为以下内容-
<tr ng-repeat="(key, value) in directivesInfo">
但是关键是只打印0、1、2、3等,但是我想打印-
ngRepeat,ngView等。
仅供参考-我可以从下面提到的数组中获得所需的结果,但是我有兴趣从上面的数组声明中获得相同的结果。
在职的 -
$scope.directivesInfo = [
{"name":"ngRepeat", "enter": true, "leave": true, "move": true, "add": false, "remove": false},
{"name":"ngView", "enter": true, "leave": true, "move": false, "add": false, "remove": false},
{"name":"ngInclude", "enter": true, "leave": true, "move": false, "add": false, "remove": false},
{"name":"ngSwitch", "enter": true, "leave": true, "move": false, "add": false, "remove": false},
{"name":"ngIf", "enter": true, "leave": true, "move": false, "add": false, "remove": false},
{"name":"ngClass", "enter": false, "leave": false, "move": false, "add": true, "remove": true},
{"name":"ngShow/ngHide", "enter": false, "leave": false, "move": false, "add": true, "remove": true},
{"name":"form/ngModel", "enter": false, "leave": false, "move": false, "add": true, "remove": true},
{"name":"ngMessages", "enter": false, "leave": false, "move": false, "add": true, "remove": true},
{"name":"ngMessage", "enter": true, "leave": true, "move": false, "add": false, "remove": false},
];
最终输出-
编辑 -
Plnkr- http: //plnkr.co/edit/vJ7pQmAYoIPpnVTi1vNi?p=preview
另一种方法是,您可以通过循环从数组中创建新对象:
....
$scope.directivesInfoObject = {};
for (var i = 0; i < $scope.directivesInfo.length; i++) {
var key = Object.keys($scope.directivesInfo[i])[0];
$scope.directivesInfoObject[key] = $scope.directivesInfo[i][key];
}
编辑:那么您可以使用:
<tr ng-repeat="(key,value) in directivesInfoObject">
<td> {{key}} </td>
<td ng-repeat="(innerKey,innerValue) in value">
<input type=checkbox ng-model="directivesInfoObject[key][innerKey]">
</td>
</tr>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句