Angular 如何使用keyvalue对象的键作为角度模板中其他对象的属性名称

Angular 如何使用keyvalue对象的键作为角度模板中其他对象的属性名称,angular,angular8,angular-template,Angular,Angular8,Angular Template,如何使用keyvalue对象的键作为角度模板中其他对象的属性名称 <ion-col *ngFor="let item of items | keyvalue"> {{ (stati | async)?.[item.key] }} // doesn't work </ion-col> 我需要的是: 只有具有相应键的stati对象的值。(stati | async)可以返回未定义的,或空的。 尝试使用if条件进行换行: <ng-container *ngIf="(st

如何使用keyvalue对象的键作为角度模板中其他对象的属性名称

<ion-col *ngFor="let item of items | keyvalue">
{{ (stati | async)?.[item.key] }} // doesn't work
</ion-col>
我需要的是: 只有具有相应键的stati对象的值。

(stati | async)
可以返回
未定义的
,或
空的
。 尝试使用if条件进行换行:

<ng-container *ngIf="(stati | async) as _stati">
  <ion-col *ngFor="let item of items | keyvalue">
    {{ _stati[item.key] }}
  </ion-col>
</ng-container>

{{{u stati[item.key]}

尝试使用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

希望这能回答你的问题。

这很有效,但我不需要所有的stati入口,只需要一个具体的入口,我如何做到这一点而不循环所有的入口。我不明白你的想法,你能解释一下你需要打印哪一个吗?@Bolin这个答案正是你所描述的。请注意,他不仅添加了
ngIf
,还将您的代码更改为
\u stati[item.key]
。以下是在线工作示例:
var requiredKey = Object.keys(objArr)[2] //amazon
var obj = {key1: "value1", key2: "value2"};
Object.assign(obj, {key3: requiredKey});
//There are other ways too