2016-12-08 5 views
1

Ich studiere Backbone.js (ver 1.3.3).Was ist der Zweck der _createElement-Methode?

Es gibt eine Zeile wie unten in Backbone.View (line 1441)

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

Warum Backbone.View_createElement(tagName) Methode hat stattdessen 'document.createElement (tagName)' der Verwendung direkt.

Antwort

1

Wenn Sie eine Bibliothek entwickeln, die in verschiedenen Projekten verwendet wird, die Sie sich nicht einmal vorstellen können, müssen Sie alles einkapseln und einfache Möglichkeiten bereitstellen, um alle Einzelheiten davon zu überschreiben. Das haben die Entwickler von Backbone getan.

Stellen Sie sich nun einen Programmierer vor, der Backbone verwendet, der document.createElement nicht verwenden möchte und stattdessen Knoten in seiner eigenen Struktur erstellen möchte. Dann könnte seine BaseNodeView_createElement außer Kraft setzen, das zu handhaben:

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

Das ist genau das, was es ist, und es ist in den comments just above geschrieben.

Erzeugt ein DOM-Element, das Ihrer Ansicht zugewiesen werden soll. Verfügbar für Unterklassen, die eine alternative DOM-Manipulations-API verwenden.

Die Funktion ist used within the view code abstrahiert, was wirklich hinter geschieht, so dass es an Ihnen zu entscheiden, ob das Standardverhalten gewünscht wird.

Einige von Backbones API sind nicht dokumentiert und es wird benötigt, um in the source zu tauchen, um alle Möglichkeiten zu finden, in die es eingehängt werden kann.

+0

Das _createElement könnte von Programmierern überschrieben werden, damit wir den CREATING ELEMENT-Flow ändern können !!!!!!! Das ist erstaunlich –