tagName不在子视图中启动新的el元素;它继承自父视图

时间:2013-12-07 17:19:55

标签: javascript jquery backbone.js requirejs

我有这样的设置:

define(['Backbone','text!../templates/contacts.html'],function(Backbone,templ){

var view=Backbone.View.extend({
template:_.template(templ),
el:"#mainContainer",

render:function(){
header=new headerView({tagName:'h1'});
console.log(header.render().el);
this.$el.append(header.render().el);
this.$el.html(this.template);

}

});


var headerView=view.extend({

tagName:'h1',

render:function(){this.$el.html("Header View")

//console.log(this.el)

return this;
}

})

return view;
})

在控制台中我希望得到<h1>Header View</h1>,但我得到id为“mainContainer”的div容器

我在哪里错了?

1 个答案:

答案 0 :(得分:0)

您已使用现有元素 - el:"#mainContainer"。这就是为什么你不能改变它的标签 - 它已经定义了。如果你评论这一行 - 一切都会按预期运作。