【发布时间】:2019-03-23 22:16:37
【问题描述】:
在下面的代码中,我有一个抽象类,它需要扩展类来实现抽象方法。使用“spread”语法时,它抱怨缺少抽象方法的实现。
abstract class Test {
abstract func(): void;
}
class Test1 extends Test {
func(): void {}
}
function funcTest(): void {
const test1: Test = new Test1();
const test: Test = {...test1};
}
如何使用 spread 来复制具有抽象方法的类对象?如果不能,有办法解决吗?
【问题讨论】:
-
这是一个打字稿问题,不是角度问题,对吧?
-
我认为这与传播无关。传播之前的行
new Test();已经是非法的,因为你不能实例化一个抽象类。 -
@chiliNUT 这只是一个错字。它创建一个 Test1 的实例,然后使用 spread 复制并转换为 Test。
-
@DaleBurrell 将打字稿添加到标签中。我来自 Angular 世界,从来不知道它是打字稿的一部分。谢谢。
-
@DaleBurrell 我没有。我避开了它。仍然希望有一个可行的解决方案。