这是我的代码:
export class People {
name: string;
age: number;
constructor(data: any) {
this.name = data.name;
this.age = data.age;
}
}
使用any 时我不断收到错误。
data
的类型应该是什么,这样我就不会收到任何错误?
我知道我也可以:
export class People {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
}
但是我希望任何 JSON 使用这个模型,假设从服务器获取 JSON,这样我就可以做到:
const data = await fetchData();
const person = new Person(data)
我应该做哪些更改才能继续对任何对象使用该模型并删除所有打字稿错误?
我尝试将类型更改为:
object
,但随后我在 data.name
和 data.age
上收到错误
您可以使用界面查看此LINK
你的代码将是这样的
interface PersonData {
name: string;
age: number;
}
export class People {
name: string;
age: number;
constructor(data: PersonData) {
this.name = data.name;
this.age = data.age;
}
}