2013-07-25 18 views
0

以前,我做了一個骨幹視圖處理切換按鈕:分享Backbone.Marionette之間的一些邏輯視圖

Star = Backbone.View.extend({ 
    events: { 
    'click': 'toggle' 
    }, 

    toggle: function() { 
    this.$('i').toggleClass('icon-star').toggleClass('icon-star-empty'); 
    }, 

    status: function() { 
    return this.$el.hasClass('active'); 
    } 
}); 

,我是用這個子視圖中我的看法是這樣的:

initialize: function() { 
    var star = new Star({ el: this.$('.new .btn.star') }); 
    // ... 
} 

通過這種方式,我可以在骨幹中的許多其他獨立視圖中重用此子視圖。 (供參考:我沒有主心骨專家這段代碼也可以是錯了,請糾正我,如果它是錯的。)

現在,我努力學習Backbone.Marionette和我找不到實現的好方法相同的功能。我如何在我的ItemViews和/或CompositeView中使用這個視圖?

+0

沒有理由不能繼續做同樣的事情與'木偶「。另一種選擇是使用'Star'視圖和'Marionette.Layout' /'Regions'。 –

+0

如果沒有看到包含視圖的代碼,就很難詳細說明如何利用Marionette的Collection或Composite Views。你會發布,以及模型和/或收集定義? –

回答

1

你可以保持完全一樣的想法,只是延伸(例如)木偶ItemView

Star = Marionette.ItemView.extend({...}); 

然後

var star = new Star({ el: this.$('.new .btn.star') }); 

另一種選擇是extendStar觀點:

MyView = Star.extend({...});