tagName没有在子视图中启动新的el元素;它继承自父视图
tagName not initiating a new el element in subview; it inherits from the parent view
我有一个这样的设置:
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容器
我哪里错了?
您已经使用了现有的元素-el:"#mainContainer"
。这就是为什么你不能更改它的标签——它已经被定义了。如果你评论这句话,一切都会如你所料。
相关文章:
- 更改el属性时未激发主干视图事件
- 骨干视图将样板指定给el
- tagName没有在子视图中启动新的el元素;它继承自父视图
- 未指定预定义 el 而不呈现的主干视图
- 骨干视图:el和事件
- 主干.js在调用渲染之前更改视图的 el 值
- 这个.remove()在主干视图上使EL消失
- 为什么视图不使用 .el 呈现
- 模板上添加了新$el,其中包含在主干视图中返回的 ajax 成功数据
- 动态呈现视图后,将事件绑定到视图的 el
- backbone.js-集合视图给出"TypeError:无法读取属性'el'未定义的“;错误
- 在视图的event属性中使用backbone.js侦听与@el相关的事件
- 将 this.el 与主干.js子视图混淆
- 在Backbone.js中根据条件向不同的el添加视图
- js视图-将事件绑定到"el"之外的元素
- 在主干视图中使用tagName, id和className属性是什么?而我们可以用el来访问dom元素
- BackboneJs:在视图中el:和tagName:有什么区别?
- 主干和车把渲染视图.$el.html
- 为什么主干视图.el是'body'一切都很好,但当view.el是'#容器'
- 主干js-动态加载视图:el应该是启动器,还是应该由父视图启动