我有2个不同的组件,组件A使用模型A,组件B使用模型B。现在A有一个id,组件B应该使用该id来处理它的方法。那么如果我想在模型 B 中使用相同的 id,可以吗?
Model A
export interface A{ id: number,firstname: string, lastname: string}
Model B
export interface B {id: number, phone: number}
或者是否可以向模型 A 添加“电话”,如下所示?
export interface A{ id: number,firstname: string, lastname: string,phone: number}
但是我收到错误,因为在组件 A 中调用它时,未使用电话。 解决这个问题的最佳方法或实用方法是什么?
如果只有
phone
,您可以将其添加到模型A,如下所示:
export interface A{ id: number,firstname: string, lastname: string, phone?: number}
问号使该字段可选,因此您可以添加电话,但您不需要。
但我认为以下方法最适合您的情况,其结构就像在数据库中一样。
Model A
export interface A{ id: number,firstname: string, lastname: string, modelB?: B}
Model B
export interface B {id: number, phone: number}
这里我们将完整的
interface B
设置为 A 的子级,可以这么说。这些都是最好的方法和最佳实践。
顺便说一句:是的,您可以使用打字稿“更改”类型和接口(添加新属性,删除一个),但这不是一件好事......我们构建接口来构建数据以实现简单的重用和类型安全。如果我们改变接口——我们就不需要它;这是我的意见。