クラスはAngular機能を使用していますが、装飾されていません。明示的なAngularデコレータを追加してください
Class Is Using Angular Features Is Not Decorated
解決:
追加する必要がありますその基本クラスへの@Componentデコレータ(おそらくこれも宣言する必要があります)
概要)。
これは、Angular9で回避できる最低限の機能です。
@Component({template: ''})export abstract class BaseComponent {@Input()teamName:string; @Input()teamSize:数値; @Input()プレーヤー:任意; }Angular 10+については、この回答を参照してください。
Angular 10では、次のようにデコレータ@Injectable()を抽象基本クラスに追加することでこの問題を修正できます。
@Injectable()export抽象クラスBaseComponent {@Input()teamName:string; @Input()teamSize:数値; @Input()プレーヤー:任意; }
受け入れられた答えは使用することで正しいですが@ Component、1つの小さな欠点は、すべてのコンストラクター引数タイプがDIによって解決可能である必要があることです。したがって、基本クラスのコンストラクターが定数/リテラル(たとえば、列挙型)をフラグとして受け取る場合、コンパイルするためだけに、対応するDIプロバイダー/トークンをセットアップする必要があります。
ただし、NG2007を使用して解決することもできます。代わりに@Directiveデコレータ。DI互換性は必要ありません。