我有一个对象var obj = {id: value}
在我的html中,我想显示id和值。
我正在使用angularjs。
请:我不想要使用ng-repeat的解决方案,因为我在这个对象中只得到一个元素
谢谢
答案 0 :(得分:1)
在现代浏览器上,您可以通过Object.keys
获取对象的“自有”属性名称列表(不是其原型中的属性名称)。如果对象只有一个属性,则只返回一个名称:
var name = Object.keys(obj)[0]; // [0] = get the first (only)
在较旧的浏览器上,您可以通过for-in
循环:(或者,您可以获得Object.keys
的“垫片”或“填充”,这将使用一个封面下的
var name, n;
for (n in obj) {
if (obj.hasOwnProperty(n)) {
name = n;
break;
}
}
知道名称后,您可以使用它来获取值:
var value = obj[name];
附注:通常最好设计对象,以使属性名称一致,并且值会有所不同。例如,而不是{id: value}
id
和value
都是可变的,而不是{id: "the ID", value: "the value"}
,其中属性名称是一致的,值是变化的。然后,您可以使用obj.id
和obj.value
。
答案 1 :(得分:0)
我不确定你的问题是什么。你有一个名为obj的对象,它有一个名为id的属性。
您要显示名为id的属性的值吗?如果是这样的话,那就是:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app ng-init="obj = {id: 'foo'}">
Object id: {{obj.id}}
</div>
&#13;
或者是对象更像字典的情况,其中属性是变量键?
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app ng-init="obj = {bar: 'foo'}; id = 'bar'">
Object {{id}}: {{obj[id]}}
</div>
&#13;