【发布时间】:2021-02-22 06:43:34
【问题描述】:
我在 Child 类中有一个如下所示的属性:
formModel = {
motive: 0,
coop: 0,
leadership: 0,
teamwork: 0,
community: 0,
professional: 0,
role_model: 0,
supportive: 0,
problem_solving: 0
};
但在其他子类中,这个属性是不同的。
formModel = {
motive: 0,
coop: 0,
leadership: 0,
teamwork: 0,
community: 0,
professional: 0,
communication: 0,
respect: 0,
morale: 0,
role_model: 0,
supp_enviro: 0
};
属性的顺序改变了,名字也改变了。
我想在其 Parent 类中声明此属性的 abstract 版本。这可能吗?我在父级中使用public abstract formModel: Object; 没有这样的运气。
编辑:
这是我得到的错误:
vendor.bundle.js:40839 Uncaught Error: Unexpected value 'undefined' declared by the module 'AppModule'
at syntaxError (vendor.bundle.js:40839)
at vendor.bundle.js:54719
at Array.forEach (<anonymous>)
at CompileMetadataResolver.webpackJsonp.../../../compiler/@angular/compiler.es5.js.CompileMetadataResolver.getNgModuleMetadata (vendor.bundle.js:54717)
at JitCompiler.webpackJsonp.../../../compiler/@angular/compiler.es5.js.JitCompiler._loadModules (vendor.bundle.js:66103)
at JitCompiler.webpackJsonp.../../../compiler/@angular/compiler.es5.js.JitCompiler._compileModuleAndComponents (vendor.bundle.js:66076)
at JitCompiler.webpackJsonp.../../../compiler/@angular/compiler.es5.js.JitCompiler.compileModuleAsync (vendor.bundle.js:66005)
at PlatformRef_.webpackJsonp.../../../core/@angular/core.es5.js.PlatformRef_._bootstrapModuleWithZone (vendor.bundle.js:71695)
at PlatformRef_.webpackJsonp.../../../core/@angular/core.es5.js.PlatformRef_.bootstrapModule (vendor.bundle.js:71681)
at Object.../../../../../src/main.ts (main.bundle.js:1339)
我注意到,如果我将以下方法添加到我的父类而不是子类,我只会收到此错误:
public handleRadioButtonChanges(event: Event): void {
console.log("test");
}
【问题讨论】:
-
“没有这样的运气”是什么意思?父类是抽象的吗?
-
在父类中,我输入了
public abstract formModel: Object;,但出现错误。它似乎不像那样工作。 -
父类是否为
abstract?你能发布一些错误的代码吗? -
父类是
abstract,是的。相关代码我已经贴出来了。 -
很抱歉,您还没有发布enough code 来重现您的问题。我可以使用您提到的抽象属性创建一个抽象父类,并且没有错误。你得到什么错误,你从哪里得到它们?
标签: angular typescript