2013-10-16 20 views

Trả lời

28

đèo this như một tùy chọn để xem các con trên bước khởi tạo:

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

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

Làm thế nào để bạn làm điều đó với một CompositeView và ItemView? – hakunin

+0

@hakunin trong Marionette bạn có thể làm điều đó theo cùng một cách. Chỉ cần sử dụng chế độ xem phù hợp, ví dụ: 'Marionette.ItemView' thay vì' Backbone.View' –

+0

Không giống cách đó - bạn không tự xây dựng chế độ xem con trong trường hợp CollectionView, vì vậy bạn phải sử dụng childViewOptions hoặc một cái gì đó thay thế. Dù sao, tôi thấy thậm chí đi qua triggerMethod không yêu cầu bất kỳ nỗ lực thêm vì vậy tôi sử dụng đó. – 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

Không thấy '_configure' ở bất kỳ đâu trong nguồn Backbone. Tôi thấy '_.extend (this, _.pick (options, viewOptions)); Trong trường hợp này, nó sẽ được sử dụng như sau: '_.extend (this, _.pick (options, ['parent']));' –

Các vấn đề liên quan