我在对象上使用ng-repeat,我的对象如下:
{
"name": {
"field_name":"date",
"date":"00000"
},
"type": "timedate"
},
{
"name":{
"field_name": "description",
"description":"my desc"
},
"type": "text"
}
您可以看到field_name值与其值的相同键是什么(下一个键与field_name值相同)。
我可以将字段名称值设为name.field_name
,但不知道如何获取字段值,其键与field_name值相同。
我试过这个:
<span data-ng-repeat="field in fields" ng-init="val = field.name.field_name">
{$ field.name.field_name $} : {$ field.name.field_name.val $}
</span>
对于第一种情况,val
将设置为日期,这将打印{$ field.name.field_name $} - > date
。所以我想通过这个{$ field.name.field_name.val $}
获得价值,但它不起作用,因为field_name
没有val
键,但我想在从dict获取之前它会将val解析为日期以便它会成为{$ field.name.field_name.val $} -> {$ field.name.field_name.date $}
修改:
我想从name dict获取date,desc等值。但我不知道密钥名称这取决于field_name的值。因此,如果我将field_name值存储在某个变量中,并希望使用它来获取下一个值
答案 0 :(得分:1)
我可能会得到你想要的东西,但我将使用正确的角度语法作为我的例子
<span data-ng-repeat="field in fields">
{{ field.name.field_name }}<!-- this should print "date" at first -->
: {{ field.name[field.name.field_name] }} <!-- this should print "00000" at first -->
</span>
我做的很简单,如果field.name.field_name
返回"date"
,那么您可以使用date
的结果访问field.name
field.name[field.name.field_name]
属性。
我希望这就是你想要的。