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"