Nach dem Render-Ereignis auf CompositeView mit Rückgrat.Marionette

Habe ich eine Marionette CompositeView mit einem Suchfeld und der Erhebung der Ergebnis-Daten.

Ich möchte eine Funktion aufrufen, wenn:

  • der Suche panel gerendert wird.
  • die Sammlung ist noch nicht gerendert.
  • diese Funktion sollte nicht aufgerufen werden, wenn die Kollektion dargestellt wird.

Habe ich es in dieser Weise: (aber "afterRender" Funktion zweimal aufgerufen)

//VIEW
App.MyComposite.View = Backbone.Marionette.CompositeView.extend({
    //TEMPLATE
    template: Handlebars.compile(templates.find('#composite-template').html()),
    //ITEM VIEW
    itemView: App.Item.View,
    //ITEM VIEW CONTAINER
    itemViewContainer: '#collection-block',

    //INITIALIZE
    initialize: function() {        
        this.bindTo(this,'render',this.afterRender);
    },

    afterRender: function () {
        //THIS IS EXECUTED TWICE...
    }

});

Wie kann ich dies tun?

==========================BEARBEITEN==================================

Ich löste es auf diese Weise, wenn Sie haben eine Beobachtung, lassen Sie es mich bitte wissen.

//VIEW
App.MyComposite.View = Backbone.Marionette.CompositeView.extend({

    //INITIALIZE
    initialize: function() {        
        //this.bindTo(this,'render',this.afterRender);
        this.firstRender = true;
    },

    onRender: function () {
        if (firstRender) {
            //DO STUFF HERE..............
            this.firstRender = false;         

        }
    }

});
Bitte geben Sie einige details über Ihre Veranstaltung-Bindungen, und wenn reneder genannt wird
Es ist in der initialize-Funktion: ".bindTo(this,'render',diesem.afterRender)". Ich bin mir nicht sicher, ob das richtig ist, aber was ich will zu tun ist, rufen Sie "afterRender" - Funktion, nachdem die view gerendert wird

InformationsquelleAutor Jaime Rivera | 2012-08-30

Schreibe einen Kommentar