如何将键值对象的键用作角度模板中另一个对象的属性名称
<ion-col *ngFor="let item of items | keyvalue">
{{ (stati | async)?.[item.key] }} // doesn't work
</ion-col>
item.key是我需要从“ stati”中获取的属性的名称吗?
对象示例:
items: {
item1: {id: 1, title: "xy", ... },
item1: {id: 2, title: "xy", ... },
item1: {id: 2, title: "xy", ... }
}
stati: {
'item1': 'xy1',
'item2': 'xy2',
'item3': 'xy3'
}
我需要什么: 只有带有相应键的stati对象的值。
答案 0 :(得分:2)
(stati | async)
可以返回undefined
或null
。
尝试使用if条件包装:
<ng-container *ngIf="(stati | async) as _stati">
<ion-col *ngFor="let item of items | keyvalue">
{{ _stati[item.key] }}
</ion-col>
</ng-container>
答案 1 :(得分:0)
尝试使用object.keys和所需的索引键
let objArr = [
'apple',
'microsoft',
'amazon',
'alphabet',
'tencent',
'alibaba'
];
console.log(Object.keys(objArr))
您可以通过键从对象中获取相应的值
var requiredKey = Object.keys(objArr)[2] //amazon
var obj = {key1: "value1", key2: "value2"};
Object.assign(obj, {key3: requiredKey});
//There are other ways too
希望这能回答您的问题。