【发布时间】:2017-08-20 18:57:24
【问题描述】:
框架:AngularJS 1.4.X
问题:使用 in 对象访问对象
在内置指令中:ng-repeat
在指令中:
for ( i=0; i< something.lenght < i++)
if ( element in elements ){
sendData[i]=
{
pair:element,
row:i
}
}
}
scope.obj[sendData] = sendData;
在视图中:
<somedirective obj="obj">
<md-content ng-repeat="data in obj">
{{obj[data].pair}} or {{data.pair}}
</md-content>
</somedirective>
控制台日志(JSON.stringify(scope.obj)):
{"[object Object]":{"14":{"pair":"HIT|CEDR3","row":14},"15":{"pair":"HIT|CEPR3","row":15},"16":{"pair":"HIT|CEKR3","row":16},"24":{"pair":"Book|Pro0","row":24}}
{{数据}}:
{"14":{"pair":"HIT|CEDR3","row":14},"15":{"pair":"HIT|CEPR3","row":15},"16":{"pair":"HIT|CEKR3","row":16},"24":{"pair":"Book|Pro0","row":24}}
我无法从 ng-repeat 中的第二个对象访问pair 属性,正如我在视图部分中提到的,我使用了{{obj[data].pair}} or {{data.pair}},如果我使用{{data}},它将打印所有对象属性/数据列表。
【问题讨论】:
-
您如何无法使用
{{data.pair}}访问pair属性?也许我误解了你在这里想要做什么。你能澄清一下吗? -
据我所知,ng 重复迭代数组而不是对象
-
@BenBeck:是的,我无法使用
{{data.pair}}。我不知道我在这里错过了什么。 -
您的样本中没有
data.pair。有data.14.pair、data.15.pair等。最重要的是,ng-repeat并非旨在迭代对象属性。 -
试试scope.obj = sendData;
标签: javascript angularjs angularjs-ng-repeat object-object-mapping