@Input() 未定义

@Input() is undefined

我的 angular 组件中有 2 个函数,第一个用于 table,第二个 returns 列表用于子组件。我首先调用第二个函数,但@Input 未定义。我也尝试在子组件中调用该函数,但也未定义。下面是我的问题的两张照片。 OperationTypesFilter 用于输入。如果我将值设置为 operationTypesFilter 有效。

复选框-filter.component.html

<ul class="pl-1">
    <li *ngFor="let filter of filters; index as i">
        <mat-checkbox color="primary" (change)="onItemSelect(filter,i)" [(ngModel)]="filter.checked">
            {{ filter.value | translate }}
        </mat-checkbox>
    </li>
</ul>

复选框-filter.component.ts

this.list.forEach((item, id) => {
      this.filters.push({ id: item.id, value: item.name, checked: false })
    });

问题OperationTypesFilter 未定义,因为它尚未设置并且正在等待在 subscribe

中设置

解决方法:

  1. 如果在加载子组件之前需要它,请添加一个 *ngIf="OperationTypesFilter",以便它仅在值可用时加载。

  2. 如果它也适用于空数组,则最初将其设置为 [],直到响应返回。