クラスは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互換性は必要ありません。