Backbone.js 主干:这是为了什么。$el.children().detach();?

Backbone.js 主干:这是为了什么。$el.children().detach();?,backbone.js,Backbone.js,我正在阅读一些主干源代码,在所有父视图中,我看到以下代码行: this.$el.children().detach(); 不过,我不知道这样做的目的。我认为这与重置父级内容有关,如果出于某种原因我们想重新播放父级内容。这是原因还是其他原因?来自jquery文档: .detach()方法与.remove()相同,只是.detach()方法 保留与删除的元素关联的所有jQuery数据。这 方法在将删除的元素重新插入到中时非常有用 DOM在以后的时间 示例代码如图所示: <p>Hell

我正在阅读一些主干源代码,在所有父视图中,我看到以下代码行:

this.$el.children().detach();

不过,我不知道这样做的目的。我认为这与重置父级内容有关,如果出于某种原因我们想重新播放父级内容。这是原因还是其他原因?

来自jquery文档:

.detach()方法与.remove()相同,只是.detach()方法 保留与删除的元素关联的所有jQuery数据。这 方法在将删除的元素重新插入到中时非常有用 DOM在以后的时间

示例代码如图所示:

<p>Hello</p>
how are
<p>you?</p>
<button>Attach/detach paragraphs</button>

<script>
$( "p" ).click(function() {
  $( this ).toggleClass( "off" );
});
var p;
$( "button" ).click(function() {
  if ( p ) {
    p.appendTo( "body" );
    p = null;
  } else {
    p = $( "p" ).detach();
  }
});
</script>
你好

你好吗 你呢

附加/分离段落 $(“p”)。单击(函数(){ $(此).toggleClass(“关闭”); }); var-p; $(“按钮”)。单击(函数(){ 如果(p){ p、 附录(“主体”); p=零; }否则{ p=$(“p”).detach(); } });
我已经读过这篇文章,并且我理解detach的作用。我只是不明白为什么有人会把它放在所有主干父视图的render方法中。
this。$el
返回视图el的jquery对象,而
子视图
返回直接子体。它所做的是分离子元素,以便以后可以重新附加它们。如果开发人员添加了此代码,那么这就是所需的结果。我不知道该怎么解释。