Angular找不到不同的支持对象';[对象对象]';类型为';对象';。NgFor只支持绑定到数组之类的可重用文件
我正在构建一个angular应用程序,通过循环对象来显示表中的记录。在将对象发送到html组件之前,我可以看到该对象具有值。不确定为什么该对象似乎没有打印 我在控制台中发现错误 找不到类型为“object”的不同支持对象“[object]”。NgFor只支持绑定到数组之类的可重用文件 父组件Angular找不到不同的支持对象';[对象对象]';类型为';对象';。NgFor只支持绑定到数组之类的可重用文件,angular,Angular,我正在构建一个angular应用程序,通过循环对象来显示表中的记录。在将对象发送到html组件之前,我可以看到该对象具有值。不确定为什么该对象似乎没有打印 我在控制台中发现错误 找不到类型为“object”的不同支持对象“[object]”。NgFor只支持绑定到数组之类的可重用文件 父组件 public getTermsDetails() { if (this.ManagerStrategyId != null) { this.termsService.
public getTermsDetails() {
if (this.ManagerStrategyId != null) {
this.termsService.getTermsDetails(this.ManagerStrategyId).subscribe((data: any) => {
this.TermDetails = data;
this.OriginalList = JSON.parse(JSON.stringify(data));
this.FundClasses = this.TermDetails.FundClassViewModel;
this.LegalFundClasses = this.TermDetails.LegalFundClassViewModel;
this.TermDetails.FundClassViewModel.FundDetailsViewModel.forEach(funDetail=> {
funDetail.FundClassDetailsViewModel = funDetail.FundClassDetailsViewModel
.reduce((prev, next) => prev = prev.concat(next), [])
.filter(obj => obj.InvestedAmount !== null);
});
});
}
}
父组件Html
<mgr-legal-fund-classes [LegalFundClasses]="LegalFundClasses" ></mgr-legal-fund-classes>
子组件html表
<div *ngIf="LegalFundClasses && LegalFundClasses.LegalFundClassDetailsViewModel">
<table class="fundClassesTable table-striped">
<tr>
<th class="tableItem bold">Legal Class Name</th>
<th class="tableItem bold">Last Edited</th>
<th class="tableItem bold">Legal Class ID</th>
<th class="tableItem bold"></th>
<th class="tableItem bold">TERMS</th>
</tr>
<ng-container *ngFor="let fundClass of LegalFundClasses.LegalFundClassViewModel">
<tr *ngFor="let f of fundClass['LegalFundClassDetailsViewModel'] | keyvalue">
<td class="tableItem">{{f.value.Description}}</td>
<td class="tableItem"></td>
<td class="tableItem">{{f.value.Id}}</td>
<td class="tableItem"></td>
<td class="tableItem"></td>
</tr>
</ng-container>
</table>
</div>
在查看了您的r
json
数据后,我认为问题在于以下代码行:
<ng-container *ngFor="let fundClass of LegalFundClasses.LegalFundClassViewModel">
<tr *ngFor="let f of fundClass['LegalFundClassDetailsViewModel'] | keyvalue">
请尝试以下代码:
<ng-container *ngFor="let fundClass of LegalFundClasses.LegalFundClassViewModel">
<tr>
<td class="tableItem">{{fundClass .Description}}</td>
<td class="tableItem"></td>
<td class="tableItem">{{fundClass.Id}}</td>
<td class="tableItem"></td>
<td class="tableItem"></td>
</tr>
</ng-container>
{{fundClass.Description}
{{fundClass.Id}
LegalFundClassDetailsViewModel中没有任何名为LegalFundClassDetailsViewModel的对象。LegalFundClassViewModel
这就是您可能会出错的原因。您在第二次*ngFor
中为
使用的keyvalue是什么?我不确定keyvalue,我认为这是语法
<ng-container *ngFor="let fundClass of LegalFundClasses.LegalFundClassViewModel">
<tr *ngFor="let f of fundClass['LegalFundClassDetailsViewModel'] | keyvalue">
<ng-container *ngFor="let fundClass of LegalFundClasses.LegalFundClassViewModel">
<tr>
<td class="tableItem">{{fundClass .Description}}</td>
<td class="tableItem"></td>
<td class="tableItem">{{fundClass.Id}}</td>
<td class="tableItem"></td>
<td class="tableItem"></td>
</tr>
</ng-container>