Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何在Typescript中临时扩展类型_Angular_Typescript - Fatal编程技术网

Angular 如何在Typescript中临时扩展类型

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

我有一个叫做ClassA的课程,有10个道具。现在在我的类中,我希望有一个ClassA实例并添加一个名为isValid的道具,但我不想创建一个新类并扩展它

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是的,我从你的第一条评论中找到了答案,你可以发布答案,这样我就可以把它标记为答案