我正在尝试实现这个Stackblitz example的带进度条的angular-upload-file-with-progress-bar,但是在我的代码中
export class UploadDocumentTemplateComponent extends FieldType {}
我有这一行是因为它我得到了这个错误
错误TS 2377:派生类的构造函数必须包含“super”调用。
如何解决这个问题?
我正在尝试实现这个Stackblitz example的带进度条的angular-upload-file-with-progress-bar,但是在我的代码中
export class UploadDocumentTemplateComponent extends FieldType {}
我有这一行是因为它我得到了这个错误
错误TS 2377:派生类的构造函数必须包含“super”调用。
如何解决这个问题?
2条答案
按热度按时间mo49yndu1#
只需要在构造函数中
7gcisfzg2#
为了提供一个更完整的答案或解释为什么要这样做,单词
super
是对UploadDocumentTemplateComponent
的超类或父类FieldType
的引用。如果调用了子类的构造函数,这里不会显示,但无论何时调用,都需要调用父类的构造函数方法。
你这样做:
即使你传入了
super();
,你仍然会看到一个错误,特别是当你有以下情况时:此时,您可以按如下方式解决该问题:
但很可能你不想这样做,很可能我们希望在你创建
color
时,它仍然作为你的UploadDocumentTemplateComponent
的一个参数。因此,我们可以像这样为
UploadDocumentTemplateComponent
构造函数引入一个参数:现在,另一个需要注意的细节是访问修饰符,因此请注意,在本示例中,我没有添加
public
修饰符。我没有添加public
关键字,因为我们不想在color
的UploadDocumentTemplateComponent
中重新分配或创建新字段,在我的示例中,字段color
属于FieldType
。这就是为什么我没有把修改器的
public
。现在我们调用父类的构造函数,这里的超类,我们不会传入硬编码的红色,而是可以传入颜色,如下所示: