web-dev-qa-db-ja.com

ジェネリック型 'ComponentRef <C>'には1つの型引数が必要です

Ionic-2の動的コンポーネントを削除できません。 TypeScriptのコンパイル中に例外が発生します

「ジェネリック型 'ComponentRef'には1つの型引数が必要です」。

また、ionic2を使用せずに使用している間も同じコードが機能します。あなたの助けに感謝します。前もって感謝します。

class DynamicCmp {
  _ref: ComponentRef;
  _idx: number;
  constructor(private resolver: ComponentResolver, private location: ViewContainerRef) { }
  remove() {
    this._ref.destroy();
  }
  add1() {
    this.resolver.resolveComponent(DynamicCmp).then((factory: ComponentFactory<any>) => {
      let ref = this.location.createComponent(factory, 0);
      ref.instance._ref = ref;
      ref.instance._idx = this._idx++;
    });
  }
}

例外:TypeScriptエラー:....../home/home.ts(9,11):エラーTS2314:ジェネリック型 'ComponentRef'には1つの型引数が必要です。

7
user2932411

ComponentRefはジェネリック型です。コードを次のように変更するだけです。

class DynamicCmp {
  _ref: ComponentRef<any>; <== add <any>

お役に立てば幸いです。

27
yurzui