Javascript 关于backbone.js视图的混淆';s渲染函数
刚从backbone.js和javascript开始。 在我的集合中,我可以侦听“重置”事件,并使其调用视图的“渲染”函数(此)。但我将视图添加到路由器中的DOM中,如下所示:Javascript 关于backbone.js视图的混淆';s渲染函数,javascript,backbone.js,Javascript,Backbone.js,刚从backbone.js和javascript开始。 在我的集合中,我可以侦听“重置”事件,并使其调用视图的“渲染”函数(此)。但我将视图添加到路由器中的DOM中,如下所示: $('#container').html(view.render().el) render: function() { // do something with $(this.el) or this.$el // loop through collection and insert something fr
$('#container').html(view.render().el)
render: function() {
// do something with $(this.el) or this.$el
// loop through collection and insert something from each model to the view
// OR
// take the view's model and insert it to the view
// I reckon the inserting is done with templates or jQuery manipulation
//finally
return this; // return this to allow chaining render to other things like calling el
}
我调用render().el(我假设它返回一些HTML文本)并将其添加到我的容器div中。单独在视图上调用render是没有用的。那么,为什么我的视图会在“重置”事件中完全更新,而“重置”事件只调用渲染函数(这是无用的,因为它只返回self(视图对象),实际更新发生在我的路由器中,在路由器中,视图的渲染el被附加到我的容器div中)
我正在遵循一个教程,为什么我知道答案,只是不知道背后的原因
感谢$('#container').html(view.render().el)
中的将视图的顶部元素插入到#container
-元素中,如下所示:
<div id="container">
<div class/id="whatever-your-view-has-defined">
<!-- THIS IS WHERE YOUR VIEW PUTS ANYTHING GOING TO $(this.el) or this.$el -->
</div>"
</div>
这基本上意味着您的第一次渲染将视图分阶段放入DOM,在reset
之后调用的渲染将用内容填充视图。你可以放弃这个计划
$('#container').html(view.render().el)
例如,如果将视图的id
-属性设置为content
,视图将自动查找标识符为content
的元素。但是,视图的所有内容都将直接插入到content元素中
希望这有帮助,如果还有什么不清楚的地方,请发表评论 在$('#container').html(view.render().el)
中,将视图的顶部元素插入到#container
-元素中,如下所示:
<div id="container">
<div class/id="whatever-your-view-has-defined">
<!-- THIS IS WHERE YOUR VIEW PUTS ANYTHING GOING TO $(this.el) or this.$el -->
</div>"
</div>
这基本上意味着您的第一次渲染将视图分阶段放入DOM,在reset
之后调用的渲染将用内容填充视图。你可以放弃这个计划
$('#container').html(view.render().el)
例如,如果将视图的id
-属性设置为content
,视图将自动查找标识符为content
的元素。但是,视图的所有内容都将直接插入到content元素中
希望这有帮助,如果还有什么不清楚的地方,请发表评论 仍然有点不清楚,因为在我下面的示例中,我从未设置视图的id属性。仍然有点不清楚,因为在我下面的示例中,我从未设置视图的id属性。