基本上我看到了大约 3 种不同的渲染场景,前 2 种是在父级中渲染,
// parent view's render
render: function() {
var child = new ChildView({el: this.$('.foo'), model: bar, ...});
this.$el.append(child.render().el);
}
这基本上是父母决定渲染孩子的地点或时间的情况,以及自身的渲染,
// parent view's render
render: function() {
var child = new ChildView({el: this.$('.foo'), model: bar, ...});
this.$el.append(child.el);
}
// child view's initialize
initialize: function() {
...
this.render();
}
这是子视图指示何时完成渲染的情况。我的看法是后者更好。您的应用程序应该安排好,以便只有视图本身知道应该何时呈现它(应该是在初始化之后或获取模型/集合之后)。即使在它之后调用,render
我也没有看到调用 inside 的任何问题。填充不应该对其功能产生任何影响。initialize
delegateEvents
el
调用 insiderender
是initialize
一种很好的做法,因为它在任何情况下都可以工作,并且统一了您的渲染方式(您将添加在获取后渲染的视图,其方式与其他视图相同)。以这种方式渲染我还没有遇到任何问题,显然你也没有!
希望这会有所帮助(或有助于让您放心)!