160
7
章 よくある問題と解決策
を監視します。
それぞれの箇所で行われている処理の内容については、コメント文を参照してください。
// ViewA
を定義します
ViewA = Backbone.View.extend({
initialize: function() {
// ViewB
のインスタンスを生成します
this.viewB = new ViewB();
// ViewB
から親ビュー(
ViewA
)への参照をセットします
this.viewB.parentView = this;
// ViewB
を
ViewA
に追加します
$(this.el).append(this.viewB.el);
}
});
// ViewB
を定義します
ViewB = Backbone.View.extend({
//...,
initialize: function() {
/
/ ViewA
の中で入れ子になっているそれぞれのモデルに対して、
//
変更を監視します
this.listenTo(this.model.parent.modelB, "change", this.render);
this.listenTo(this.model.parent.modelC, "change", this.render);
//
親ビューで定義されているメソッドを呼び出すこともできます
// $(this.parentView.el).shake();
}
});
// ModelA ...