2016-11-21 27 views
1

コンポーネントを動的に作成しようとしていますが、クリックアクションを追加したいと思います。私はこれをやろうとしていた:角2動的コンポーネントのクリックイベント

constructor(public navCtrl: NavController, private resolver: ComponentFactoryResolver) { 
    this.lastSelectedResource = this.defaultImage; 
    } 

    public createNew() { 
    this.container.detach(0); 
    } 

    ngAfterContentInit() { 
    let widgetFactory = this.resolver.resolveComponentFactory(CreateComponent); 
    let widgetReference = this.container.createComponent(widgetFactory); 
    widgetReference.instance.click = this.createNew; 
    } 

それを行う方法ではありません。誰も知っている方法?

答えて

2

あなたはレンダラを注入し、Angular2 - catch/subscribe to (click) event in dynamically added HTML

と同様に

this.renderer.listen(widgetReference.location.nativeElement, 'click', (event) => { this.createNew(e);}); 

widgetReference.locationElementRefを提供)

+1

を使用することができますおかげU、これは私が探していたソリューションです! :D – luisurrutia

関連する問題