2016-07-01 3 views
6

ionic-2에서 동적 구성 요소를 제거 할 수 없습니다. typescript가 컴파일되는 동안 예외를 말하는 것입니다.일반 유형 'ComponentRef <C>'에는 1 개의 유형 인수가 필요합니다.

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

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

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

답변

19

ComponentRef는 일반적인 유형입니다. 코드를 다음과 같이 변경하십시오.

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

희망이 있습니다.

+0

또는 'DynamicComp' –

+0

대단히 감사합니다. 이제 작동 중입니다. – user2932411