Javascript 为什么人们会正式这么做。在主干视图渲染的第一行中使用$el.html()?

Javascript 为什么人们会正式这么做。在主干视图渲染的第一行中使用$el.html()?,javascript,jquery,html,backbone.js,Javascript,Jquery,Html,Backbone.js,下面有一个Backbone.js视图渲染函数: var bookListView=Backbone.View.extend({ 型号:藏书, render:function(){ this.$el.html();//让我们呈现此视图 var self=这个; 对于(变量i=0;i

下面有一个Backbone.js视图渲染函数:

var bookListView=Backbone.View.extend({
型号:藏书,
render:function(){
this.$el.html();//让我们呈现此视图
var self=这个;
对于(变量i=0;i
我才知道人们通常会添加
this.$el.html()位于渲染函数的开头,用于渲染视图


但是,我不知道为什么在第一行使用此代码。它的工作原理完全相同,即使我删除了第一行。

您通常看到的那行是
this.$el.html(“”)。注意额外的
'
,它使它成为一个setter,而不是getter。它用于清除视图中的现有内容,类似于
this.$el.empty()
。如果不存在,则当您重新渲染视图以显示更改的数据时,旧数据将保留在其中,因为它是一个集合视图,项目只是附加到其中

在这个特定示例的上下文中,假设您现在有2本书,如果数据更改为3本书,您将重新呈现此视图-其中有5本书没有可疑行


正如
this.$el.html()所示
在您共享的代码中不做任何事情,但是
this.$el.html(“”)修复了一个潜在的bug。我想你错过了
'

嗯。。。否。
此。$el.html()
将返回html内容,但不执行任何操作
this.$el.html(“”)
将清除内容。@nikoshr oh。。。它应该是
this.$el.html(“”)
我同意,但正如前面所说的,这是一个不可操作的工具,我只是复制并粘贴了教程中的代码。不幸的是,教程代码有时会有一些错误。而且,我对Javascript是一个全新的人,甚至猜不出缺失的部分是什么。因为你们,现在我可以猜到缺失的部分是什么了。谢谢