すべての「タブ」を処理する Backbone.View を作成できます。この Backbone.View は、コンテンツの上にあるものをカバーする必要があります。
ul に基づいて、CSS セレクターまたはその他の属性を追加できます。
<div id="mainDiv">
<ul>
<li class="tab-one">One</li>
<li class="tab-two">Two</li>
<li class="tab-three">Threeli>
</ul>
<div id="tab1" class="tab">...</div>
<div id="tab2" class="tab">...</div>
<div id="tab3" class="tab">...</div>
</div>
ページ イベントを処理する Backbone.View を作成します。
MyView = Backbone.View.extend({
el: $('#mainDiv'),
events: {
'click .tab-one': 'showTabOne',
'click .tab-two': 'showTabTwo',
'click .tab-three': 'showTabThree'
},
showTabOne: function() {
$(this.el).find('.tab').hide();
$(this.el).find('#tab1').show();
},
showTabTwo: function() {
$(this.el).find('.tab').hide();
$(this.el).find('#tab2').show();
},
showTabThree: function() {
$(this.el).find('.tab').hide();
$(this.el).find('#tab3').show();
}
...
}
これは、Backbone を使用してタブを表示および非表示にするためのものです。Backbone を使用すると、さらに多くのことができます :)
編集: タブ リストが動的な場合は、Backbone.View の initialize() 関数内で jquery を使用してイベントの初期化を行うことができます。Backbone.View (var view = new MyView;) をインスタンス化すると、これが呼び出されます。