2016-12-08 12 views
1

私はBackbone.js(バージョン1.3.3)を勉強しています。_createElementメソッドの目的は何ですか?

Backbone.Viewではなく、直接 'のdocument.createElement(tagNameを)' を使用しての_createElement(tagName)方法を持っているのはなぜBackbone.Viewで、以下のような行(line 1441

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

があります。

答えて

1

あなたが想像することのできないさまざまなプロジェクトで使用されるライブラリを開発するときは、すべてをカプセル化し、そのすべての特質を簡単に上書きする方法を提供する必要があります。これが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フロー!!!!!!!を変更できますそれは素晴らしいです –

関連する問題