在主干视图中的每个方法之后是否需要“返回此内容”

Is "return this" necessary after every method in a Backbone view?

本文关键字:返回 返回此内容 是否 之后 视图 方法      更新时间:2023-09-26

主干视图中每个方法的末尾都需要"return this"吗?

render: function() {
this.editElem();
// I realize it wouldn't be necessary here, but...
},
renderElem: function() {
this.$el.addClass('foobar');
return this // is this one necessary?
},

编辑这个例子呢?

render: function() {
this.editElem();
},
renderElem: function() {
this.$el.addClass('foobar');
return this;
},
我没有

使用过 Backbone,所以我不确定它是否是必需的(可能不是),但您通常会看到使用该模式,以便您可以将函数调用"链接"在一起。它被称为流畅的接口。

例如,使用此模式,您可以编写紧凑的代码,例如:

myVariable.editElem().somethingElse().anotherMethod();
引用

官方文档所说的内容

一个好的约定是在渲染结束时返回 this 以启用链式调用。

所以不,这不是必需的,但这可能是一个好主意。

通常,您将在修改/呈现视图el的方法中看到它,通过在其中一种方法中返回this,您可以更轻松地访问视图的el,因此您现在可以执行以下操作

$("#somelist").append(myview.render().el);

而不是像

myview.render();
$("#somelist").append(myview.el);