サイトにモデルを表示するには 2 つの異なる方法があり、もちろん異なるビューでそれらを処理します。
ただし、特定のモデルのビューの 1 つでイベントが発生したときに、他のビューでもイベントをトリガーできるように、これらのビューを何らかの方法で接続できるようにしたいと考えています。
ul
簡単にするために、コレクションがあり、同じリストを生成する 2 つのビューでコレクションを表すとしましょう。(実際には、もちろん見解は異なります)。
HTML
<ul class="view-a">
<li class="subview-a">Model 1</li>
<li class="subview-a">Model 2</li>
</ul>
<ul class="view-b">
<li class="subview-b">Model 1</li>
<li class="subview-b">Model 2</li>
</ul>
背骨
viewA = Backbone.View.extend({
tagName: 'ul',
className: 'view-a',
});
viewB = Backbone.View.extend({
tagName: 'ul',
className: 'view-b',
});
subViewA = Backbone.View.extend({
tagName: 'li',
className: 'subview-a',
events: {
'mouseover':'over',
},
over: function() {
console.log('mouse over on A');
}
});
subViewB = Backbone.View.extend({
tagName: 'li',
className: 'subview-b',
events: {
'mouseover':'over',
},
over: function() {
console.log('mouse over on B');
},
});
同じサブビューを持っていないのはなぜですか? この例では、両方のサブビューはli
ですが、実際の実装ではありません。
subview B
では、 の上にマウスを置いたときにマウスオーバー イベントをトリガーするにはどうすればよいsubview A
でしょうか。