Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 关于backbone.js视图的混淆';s渲染函数_Javascript_Backbone.js - Fatal编程技术网

Javascript 关于backbone.js视图的混淆';s渲染函数

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

刚从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 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属性。