2016-12-08 78 views
1

我正在學習Backbone.js(版本1.3.3)。_createElement方法的用途是什麼?

有一個線像下面在Backbone.Viewline 1441

_createElement: function(tagName) { 
    return document.createElement(tagName); 
}, 

Backbone.View爲什麼具有_createElement(tagName)方法,而不是直接使用 '使用document.createElement(的tagName)'。

回答

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抽象什麼是真正發生的事情背後,留給了你來決定,如果默認行爲而被通緝。

骨幹API的一些沒有記錄,它需要深入the source找到它可以掛鉤的每種方式。

+0

程序員可能會忽略_createElement讓我們更改CREATING ELEMENT流程!!!!!!!太棒了 –