2017-04-11 40 views
3

私はすべてのビューにこの行を持つこの新しいプロジェクトを持っています。Backbone.Layout.extendとBackbone.view.extendの相違点

Backbone.Layout.extend({ /*...*/ }) 

しかし、私はバックボーンと他のチュートリアルのための文書を見たとき、それはすべてのビューがinitializeserializeafterRender機能を持っている。また

Backbone.View.extend({ /*...*/ }) 

を持っています。私はそれを検索しようとしましたが、有用なものは何も見つかりませんでした。

答えて

2

プロジェクトはbackbone.layoutmanager

を使用しているバックボーン内のレイアウトやビューを組み立てるための論理的な基盤を提供します。痛みのない統合のために適応性と構成可能に設計されています。ブラウザとNode.js環境の両方で、完全なコードカバレッジで十分にテストされています。

source of this libraryを見ると、それはちょうど特殊なBackbone.Viewであることがわかります。

var LayoutManager = Backbone.View.extend({ // line 53 
// ... 
}); 
// ... 
// Expose through Backbone object. 
Backbone.Layout = LayoutManager; // line 955 

これらmethods and propertiesを追加します。

  • afterRender
  • cleanup
  • getView
  • getViews
  • insertView
  • insertViews
  • removeView
  • renderViews
  • setView
  • setViews
  • then
  • useRAF
  • serialize(ウィキに記載されていない)

initialize functionは、バックボーンビューのデフォルトです。空白で、カスタム初期化コードで上書きされます。

プロジェクトで何が起こっているのかをよりよく理解するには、読み込む依存関係(HTMLの<script>タグに含まれる.jsファイル)を見てください。

+0

すぐにお返事ありがとうございます。これはドキュメントに含まれていないため、このレイアウトマネージャライブラリの下にシリアル機能もありますか? –

+0

@SouravPremはいlayoutmanagerが付属していますが、文書化されていません。私は[ソース](https://github.com/tbranyen/backbone.layoutmanager/blob/5ae3117659193ee3ca38f6a53b0ad2e07bda3dde/backbone.layoutmanager.js)を調べなければなりませんでした。それはそれほど大したことではありません。何が起きているのかを本当に把握するためには、それに潜入することを強くお勧めします。 –

+0

ちょうど1つ最後のこと..私はこれに非常に新しいので、私は圧倒されないように他の出発点があります。短時間で学習する方法は? –

関連する問題