2017-11-21 4 views
1

Ich möchte nur die erste didRender in einer EmberJS-Komponente zu hören.Entfernen Sie einen bestimmten Ereignis-Listener in EmberJS

initialDidRender: Ember.on('didRender', function() { 
    // Do some stuff 

    this.off('didRender'); 
}), 

allOtherDidRender: Ember.on('didRender', function() { 
    // Do some stuff 
}) 

this.off Mit funktioniert gut für meine usecase aber wenn ich einen anderen didRender Zuhörer in die Zukunft definieren wollen, wird es auch, dass man entfernen.

Gibt es eine Möglichkeit, nur initialDidRender meines Beispiels zu deaktivieren?

Ich versuchte auch this.set('initialDidRender', null);, aber es wirft Fehler auf zukünftige didRender Ereignisse.

Antwort

1

Sie benötigen didInsertElement Haken statt didRender Haken wie folgt zu verwenden:

didInsertElement(){ 
    // Do some stuff 
} 

Auch können Sie prüfen because they may be deprecated soon die Verwendung von Ember.on Nutzung ändern. Werfen Sie einen Blick auf this twiddle für die Verwendung von didInsertElement Haken.

Verwandte Themen