【发布时间】:2021-05-08 14:24:29
【问题描述】:
我收到以下错误。我一直在尝试解决这个问题一段时间,但没有运气。谁能帮帮我。
类型 'Student' 不能分配给类型 'any[] |可迭代 | (可迭代 & 任何[]) | (任何 [] 和可迭代)'。 “学生”类型是 不可分配给类型“任何 [] 和可迭代”。类型“学生”不是 可分配给类型 'any[]'。
app.component.html
<div *ngFor="let stu of studentSelected; let i = index;">
<tr>
<td>{{stu.f}} :</td>
<ng-container *ngFor="let s of stu.ff">
<td>{{s.s_name}}</td>
</ng-container>
</tr>
</div>
app.component.ts
import { Component, VERSION } from '@angular/core';
import { Student } from './student.model';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
studentSelected: Student | any = {
f: 'dfd',
ff: [
{
s_name: 'nswq'
}
]
};
}
School.model.ts
export class School {
s_name: string;
constructor(s_name: string = '') {
this.s_name = s_name;
}
}
student.model.ts
import { School } from './School.model';
export class Student {
f: string;
ff: School[];
constructor(f: string = '', ff: [] = []) {
this.f = f;
this.ff = ff;
}
}
【问题讨论】:
-
any[] 至少需要一个数组,Student 是一个对象。您需要添加
| any -
@tom10271 但我仍然看不到 html 文件的输出。帮助。
-
请将相关代码作为代码块放入您的问题中。如果(何时!)链接失效,这个问题将变得毫无用处。
-
@AJT82 我已经添加了相关的代码块。
标签: javascript angular typescript