我正在学习 Backbone.js(版本 1.3.3)。
Backbone.View
中有如下一行 ( line 1441 )
_createElement: function(tagName) {
return document.createElement(tagName);
},
为什么Backbone.View
有_createElement(tagName)
方法而不是直接使用'document.createElement(tagName)'。
最佳答案
当您开发一个将在不同项目(您甚至无法想象的项目)中使用的库时,您必须封装所有内容并提供简单的方法来覆盖它的每个细节。这就是 Backbone 的开发人员所做的。
现在想象一个使用 Backbone 的程序员不想使用 document.createElement
,而是想在自己的结构中创建节点。然后,他的 BaseNodeView
可以重写 _createElement
来处理该问题:
var BaseNodeView = Backbone.View.extend({
_createElement: function(tagName) {
return NodeFactory.create(tagName);
},
});
这正是它的用途,它写在 comments just above 中.
Produces a DOM element to be assigned to your view. Exposed for subclasses using an alternative DOM manipulation API.
该函数是used within the view code抽象出背后真正发生的事情,让您决定是否需要默认行为。
Backbone 的一些 API 没有记录,需要深入研究 the source找到它可以挂接的所有方法。
关于javascript - _createElement 方法的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41032201/