2016-07-01 7 views
6

Dynamische Komponenten in ionic-2 können nicht entfernt werden. Es heißt Ausnahme, während Typoskript kompilierenGenerischer Typ 'ComponentRef <C>' benötigt 1 Argumenttyp (en)

“Generic type 'ComponentRef' requires 1 type argument(s)”.

Auch der gleiche Code funktioniert bei der Verwendung ohne ionic2 verwenden. Vielen Dank für Ihre Hilfe. Vielen Dank im Voraus.

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++; 
    }); 
    } 
} 

Exception: TypeScript error: ....../home/home.ts(9,11): Erro r TS2314: Generic type 'ComponentRef' requires 1 type argument(s).

Antwort

19

ComponentRef ist ein generischer Typ. Ändere einfach deinen Code wie folgt:

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

Hoffe es hilft dir!

+0

oder 'DynamicComp' –

+0

Vielen Dank. Es funktioniert jetzt. – user2932411