2013-10-16 8 views

Antwort

28

Pass this als Option für das Kind Blick auf Initialisierungsschritt:

var ChildView = Backbone.View.extend({ 
    initialize : function (options) { 
    this.parent = options.parent; 
    } 
}); 

// somewhere in the parent view ... 
new ChildView({parent:this}); 
+0

Wie Sie es mit einem CompositeView und ItemView tun? – hakunin

+0

@hakunin in Marionette können Sie es auf die gleiche Weise tun. Verwenden Sie einfach die richtige Ansicht, z. 'Marionette.ItemView' anstelle von' Backbone.View' –

+0

Nicht die selbe Art - Sie erstellen die Kindansicht nicht selbst im Falle von CollectionView, also müssen Sie stattdessen childViewOptions oder etwas verwenden. Wie auch immer, ich fand sogar, dass die Weitergabe über triggerMethod keinen zusätzlichen Aufwand erforderte, also nutze ich das. – hakunin

-2
// You can use this code instead 

var ChildView = Backbone.View.extend({ 
    initialize : function (options) { 
    this._configure(options); // Set all the options as local variables 
    // This is used in the Backbone.View code on the latest version 

    } 
}); 
+0

"_configure" wird nirgendwo in der Backbone-Quelle angezeigt. Ich sehe '_.extend (this, _.pick (options, viewOptions));' though. In diesem Fall würde es wie folgt verwendet: '_.extend (this, _.pick (options, ['parent']));' –

Verwandte Themen