简单视图(精简代码):
My.View = Backbone.View.extend({
className: 'my-view',
initialize: function() { },
render: function() {
console.log('render');
return this;
}
});
我在另一个视图中使用它作为子视图,如下所示:
var myView = new My.View();
this.$el.append(myView.render().$el);
首先,视图有一个模板而不是类名,并且视图渲染得很好。但是,当我删除模板并添加 className 时,它没有正确呈现。
它只呈现 div 和正确的类名,但不执行 render 方法的日志记录。并且当我在渲染方法中向 this.$el 添加一些 html 时,它永远不会出现。任何想法为什么?
更新:
当我将自定义渲染代码放在 afterRender 方法中时,它可以工作。为什么在我的情况下无法覆盖渲染方法?