angularコンポーネントクラスを型として参照できますか?Ionicはコンポーネントにany
を使用します。TypeScriptで宣言することは可能ですか?コンポーネントクラスのみを期待する引数タイプ?
私はこの質問を見ましたが、コンポーネントにはコンストラクターに共通するものは何もありません: パラメーターとしてクラスを渡すと「新規ではない」エラーが発生します
結局のところ、これはTypeScriptでは現在不可能です。デコレータはクラスの型を変更できません。つまり、型システムではデコレータは表示されません。
詳細については、こちらをご覧ください:
それらが動的に作成されるコンポーネントである場合、AngularはComponentRefクラスを提供します。
ここを参照してください: https://angular.io/api/core/ComponentRef
静的に宣言されたコンポーネントには、このクラスはありません。ただし、関連するコンポーネント/サービスにインポートする限り、必要に応じてコンポーネント識別子を型なし変数として渡すことができます。依存性注入を使用している場合、つまり、コンポーネントインスタンスをそのHostディレクティブに注入している場合、「type」はその名前が何であれ、次のようになります-
import { Directive } from '@angular/core'
import { MyNavigatorComponent } from '../components/my-nav.component'
constructor (private navigator: MyNavigatorComponent) {