marionette.js Unterschiede zwischen onShow vs onRender sehen?
Ich bin neu Marionette.js und während ich meine vorhandenen refactoring Backbone.js code, die ich bemerkte, gibt es zwei Rückrufe auf Marionette anzeigen (itemview), das sah für mich ähnlich aus, d.h. onRender-und onShow. Was ist der Unterschied und bessere Möglichkeit der Verwendung von Ihnen ?
Dennoch, mit Blick auf source-code, ich denke, beide "machen" und "zeigen" - Ereignisse ausgelöst innen "- Ansicht initialisiert werden".
constructor: function(){
_.bindAll(this, "render");
var args = Array.prototype.slice.apply(arguments);
Backbone.View.prototype.constructor.apply(this, args);
Marionette.MonitorDOMRefresh(this);
this.listenTo(this, "show", this.onShowCalled, this);
}
InformationsquelleAutor der Frage addisu | 2013-06-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
onShow
: Ansicht selbst wird nicht ausgelöst, 'show' - Ereignis. Es löst durch eine region. Es wird also nicht aufgerufen werden, in einigen Fällen.onRender
: diese Methode wird ausgeführt, jedes mal, wenn die view gerendert wird.InformationsquelleAutor der Antwort Vitalii Petrychuk
Ich denke, es ist etwas nicht ganz korrekt in Vitaliy Antwort. Das richtige wird sein:
Beachten Sie, dass 'onRender' ausgeführt bedeutet nicht, dass das Objekt tatsächlich Hinzugefügt, um das DOM -. Es bedeutet nur, dass es nur gerendert (Daten gefüllt, die Vorlage, die Sie haben.$el zu behandeln, etc.)
Auf der anderen Seite, wenn 'onShow' genannt wird, weil die 'show' Ereignis ausgelöst wurde, aus einer region, und wie Regionen in der Regel sind ein element innerhalb des DOM ist, könnte man annehmen, dass, wenn 'onShow' heißt, die Aussicht ist in der Tat Hinzugefügt, um den DOM.
InformationsquelleAutor der Antwort John Bernardsson
Gut, das ist die
show
Methode in der Marionette und Sie erklärt, die FrageInformationsquelleAutor der Antwort addisu
In der version 3 die region Ereignisse zeigen, und vor:anzeigen werden nicht mehr ausgelöst
auf der Ansicht. Sie können render-und vor:render-Ereignisse, die in den meisten Fällen. Wenn
Sie müssen wissen, dass der Blick in den DOM, dann können Sie befestigen oder dom:aktualisieren
info http://blog.marionettejs.com/2016/08/23/marionette-v3/index.html
InformationsquelleAutor der Antwort zloctb