Angular找不到不同的支持对象';[对象对象]';类型为';对象';。NgFor只支持绑定到数组之类的可重用文件

Angular找不到不同的支持对象';[对象对象]';类型为';对象';。NgFor只支持绑定到数组之类的可重用文件,angular,Angular,我正在构建一个angular应用程序,通过循环对象来显示表中的记录。在将对象发送到html组件之前,我可以看到该对象具有值。不确定为什么该对象似乎没有打印 我在控制台中发现错误 找不到类型为“object”的不同支持对象“[object]”。NgFor只支持绑定到数组之类的可重用文件 父组件 public getTermsDetails() { if (this.ManagerStrategyId != null) { this.termsService.

我正在构建一个angular应用程序,通过循环对象来显示表中的记录。在将对象发送到html组件之前,我可以看到该对象具有值。不确定为什么该对象似乎没有打印

我在控制台中发现错误

找不到类型为“object”的不同支持对象“[object]”。NgFor只支持绑定到数组之类的可重用文件

父组件

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>