私は現在、次のように親ビューで子ビューをレンダリングしようとしています:
var ParentView = Backbone.View.extend({
initialize: function(){
this.render();
this.childView = new ChildView({el: '#id1', model: this.model.get('collection').at(index)});
},
render: function(){
this.$el.html(ich.parent_template(this.model.toJSON()));
}
}):
親テンプレートはかなり単純で、次のようなものです。
<script id="parent_view" type="text/html">
<div>
<h1 class="section-title">{{ title }}</h1>
<div id="id1"></div>
</div>
</script>
私は childView を次のようにレンダリングしたかった:
var ChildView = Backbone.View.extend({
initialize: function(){
this.render();
},
render: function(){
this.$el.html(ich.child_template(this.model.toJSON()));
}
}):
しかし、これを行うと何も表示されません。{el: '#id1'} を含めずに子ビューをインスタンス化し、それを親ビューから正しい div にレンダリングすると、すべて正常に動作します。上記で概説した方法で機能しない理由について、私はさらに混乱しています。
子ビューの el を指定することの意味を完全に誤解していますか? 私はこの応答に従おうとしていましたが、まったくうまくいきませんでした。