Angular 如何在Typescript中临时扩展类型
我有一个叫做ClassA的课程,有10个道具。现在在我的类中,我希望有一个ClassA实例并添加一个名为isValid的道具,但我不想创建一个新类并扩展它Angular 如何在Typescript中临时扩展类型,angular,typescript,Angular,Typescript,我有一个叫做ClassA的课程,有10个道具。现在在我的类中,我希望有一个ClassA实例并添加一个名为isValid的道具,但我不想创建一个新类并扩展它 export class ClassA { constructor( public active: boolean, public createdBy: string, public createdTimestamp: Date, public entityState: string, public
export class ClassA {
constructor(
public active: boolean,
public createdBy: string,
public createdTimestamp: Date,
public entityState: string,
public scopeType: string,
public scopeValue: string,
public tableDescription: string,
public tableId: number,
public tableName: string,
public changeHistoryPreserveDays = 0,
public createdString: string
) { }
}
在我的组件中:
myInstance : any = {
isValid : true
}
foo(classA: ClassA) {
this.myInstance = {...myInstance, ...classA};
}
然后,通过使用任何我将松散的类型检查
我的问题是,有没有任何快速的方法可以在不定义新类的情况下临时扩展类
归功于@jcalz
我在这里写下了答案,以防其他人也在寻找同样的答案
正如@jcalz在注释中提到的,下面的代码使其类型化
myInstance: Partial<ClassA> & {isValid: boolean} = { isValid : true }
你能把你的代码变成一个好代码吗?没有这些,很难确定答案是否相关。我要说的是,不要用任何东西;使用正确的类型,如ClassA&{isValid:boolean}或任何您想要的类型。@jcalz就是这样,顺便说一句,我会说Partial&{isValid:boolean}而不是any,因为您将它初始化为没有ClassA属性的东西。如果您有一个用例,我可以提供更多帮助,否则这就是我的问题suggestion@jcalz是的,我从你的第一条评论中找到了答案,你可以发布答案,这样我就可以把它标记为答案