在角度中,我想使用ng-repeat的键作为obj的属性名称
$scope.datas= {};
$scope.datas.key1 = 'val1';
$scope.datas.key2 = 'val2';
$scope.dictionnary= {};
$scope.dictionnary['key1'] ='toto';
$scope.dictionnary['key2'] ='titi';
<div ng-repeat="(key, value) in datas">
{{dictionnary[key]}} //does not work!
</div>
你知道热吗?
答案 0 :(得分:2)
好的,这可能归结为以下几点:
<强> 1 强> 您也可以将数据用作字典,然后使用1循环( PICK ME )
angular.module('myApp', [])
.controller('myController', function($scope) {
$scope.datas = {};
$scope.datas.key1 = 'val1';
$scope.datas.key2 = 'val2';
$scope.dictionnary = {};
$scope.dictionnary['key1'] = 'toto';
$scope.dictionnary['key2'] = 'titi';
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="myController">
<div ng-repeat="(key, value) in datas">
{{dictionnary[key]}} //does not work!
</div>
</div>
</div>
&#13;
2 :你可以使用像@Omri Aharon那样的嵌套ng-repeat显示
答案 1 :(得分:0)
如果要对所有对象执行此操作,则需要2 ng-repeats,一个用于遍历数组,另一个用于从您正在迭代的对象中获取键:
<div ng-repeat="data in datas">
<div ng-repeat="(key, value) in data">
{{key}}
</div>
</div>
请注意,此处您已将对象作为数据,因此如果您解释了问题,我们可能会建议采用不同的方法。