2016-12-08 5 views
1

Я изучаю Backbone.js (версия 1.3.3).Какова цель метода _createElement?

Там такая строчка, как показано ниже в Backbone.View (line 1441)

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

Почему Backbone.View имеет _createElement(tagName) метод вместо использования 'document.createElement (тэгу)' непосредственно.

ответ

1

Когда вы разрабатываете библиотеку, которая будет использоваться в разных проектах, те, которые вы даже не можете себе представить, вам нужно инкапсулировать все и предоставить простые способы переопределить все ее особенности. Вот что сделали разработчики Backbone.

Теперь представьте себе программиста, использующего Backbone, который не хочет использовать document.createElement, и вместо этого он хочет создавать узлы в своей собственной структуре. Затем его BaseNodeView может переопределить _createElement справиться с этим:

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

Это именно то, что это для и это написано в comments just above.

Производит элемент DOM, назначаемый вашему представлению. Открыт для подклассов с использованием альтернативного API манипуляции с DOM.

Функция used within the view code абстрагирования, что на самом деле происходит сзади, оставляя его до вас, чтобы решить, если поведение по умолчанию разыскивается.

Некоторые API-интерфейсы Backbone не документированы, и необходимо погрузиться в the source, чтобы найти все способы его подключения.

+0

_createElement может быть отменен программистами, чтобы мы могли изменять поток СОЗДАТЕЛЬНЫХ ЭЛЕМЕНТОВ !!!!!!! Это восхитительно –

Смежные вопросы