我正在尝试动态获取不同对象类型的属性值。
我有多个选项卡,在其中显示每个选项卡中包含相同类型对象的列表。 因为对象的类型不同,所以我有一个包含数组的对象,这些数组包含每种对象类型的属性的名称。
示例:
objectTypesAttributes = {
Type_A: ['1',
'2',
'3',
'4'],
Type_B: ['a.b',
'c.d',
'e.f',
'g']};
在我的HTML代码中,我有两个ngFor循环。外层显示列表中一种类型的所有对象。用来显示对象所有属性的工具。
<tr *ngFor="let t of tmp">
<!-- do something... -->
<!-- trying to access the value of the attribute of the object from the outer ngFor -->
<td *ngFor="let attribute of objectTypesAttributes[objectType]" [innerText]="t.attribute "></td>
</td>
</tr>
在内部循环中,如您所见,我想使用属性名称字符串来访问来自外部循环对象的值。 不知何故,这不适用于内部循环。它显示“未定义”或什么都不显示。
到目前为止,我尝试过类似的事情
[innerText]="t.attribute "
OR
<td *ngFor="let attribute of objectTypesAttributes[objectType]">{{t[attribute]}}</td>
和许多其他组合,没有可行的解决方案。