Javascript 从ng选项访问对象
蜜蜂问了很多关于访问对象的问题,但我找不到一个能回答我问题的 我有一个动态创建的对象,如下所示:Javascript 从ng选项访问对象,javascript,angularjs,Javascript,Angularjs,蜜蜂问了很多关于访问对象的问题,但我找不到一个能回答我问题的 我有一个动态创建的对象,如下所示: { id: "ISO 19115:MD_Metadata:identificationInfo:extent:temporalElement:extent", value: "ISO 19115:MD_Metadata:identificationInfo:extent:temporalElement:extent:endPosition", begin: "ISO 19
{
id: "ISO 19115:MD_Metadata:identificationInfo:extent:temporalElement:extent",
value: "ISO 19115:MD_Metadata:identificationInfo:extent:temporalElement:extent:endPosition",
begin: "ISO 19115:MD_Metadata:identificationInfo:extent:temporalElement:extent",
...
}
我想做的是在ng选项(angularJS)中显示第二个参数的耦合(id-ISO 19115:MD…,value-ISO 19115:MD…),第二个参数是通过第一个参数的路径
所以我想知道这样做是否可行:
<select ng-model='selectedtype' ng-options="(item[0] + item[1]) for item in types">
<option value="">select type</option>
</select>
但如果可能的话,我希望有另一种解决方案。ng选项支持字符串连接。所以你可以很容易地使用
ng options=“'id-'+item.id+',value-'+item.value,用于类型中的项目”
演示:您可以使用以下格式访问对象键值对:
ng-options="key as key+': '+value for (key, value) in types"
另外,请参见此作为旁注,创建只有“名称”和“值”键的对象数组肯定不是“更好的设计”。对象特别是名称-值对。它不是
item.id
和item.value
而不是item[0]
和item[1]
?我不确定你的意思是什么,你想在你选择的模型中显示值和存储id。这就是你的目标吗?如果是,则ng options=“item.id as item.value for item in types”
如果您阅读了问题,则OP会将名称和值存储在单独的索引中。由于这个原因,您提供的代码无法工作。drew_w是正确的,但是您的回答帮助我解决了另一个问题,所以谢谢!那正是我要找的!
ng-options="key as key+': '+value for (key, value) in types"