_createElement方法的目的是什么?

时间:2016-12-08 05:12:04

标签: javascript backbone.js backbone-views

我正在研究Backbone.js(版本1.3.3)。

Backbone.Viewline 1441

中有如下所示的行
_createElement: function(tagName) {
  return document.createElement(tagName);
},

为什么Backbone.View_createElement(tagName)方法,而不是直接使用'document.createElement(tagName)'。

1 个答案:

答案 0 :(得分:1)

当您开发一个将在不同项目中使用的库时,您甚至无法想象它们,您必须封装所有内容并提供简单的方法来覆盖它的每个细节。这就是Backbone的开发者所做的。

现在假设一个使用Backbone的程序员不想使用document.createElement而是想要在他自己的结构中创建节点。然后,他的BaseNodeView可以覆盖_createElement来处理:

var BaseNodeView = Backbone.View.extend({
    _createElement: function(tagName) {
        return NodeFactory.create(tagName);
    },
});

这正是它的用途,它写在comments just above

  

生成要分配给视图的DOM元素。 暴露于   使用备用DOM操作API的子类。

该函数是used within the view code抽象背后真正发生的事情,由你来决定是否需要默认行为。

某些Backbone的API没有记录,需要深入研究the source以找到可以挂钩的各种方式。