2

私は非常に厳密なOOPフラッシュのバックグラウンドから来ており、バックボーンを深く掘り下げようとしています。私の質問は次のとおりです。

すべてのビューのクラスがある場合(フラッシュの場合と同様)、_。template機能の用途/利点はありますか、それとも今のところ見落とすことができますか?

4

2 に答える 2

2

アンダースコアまたはその他のテンプレートフレームワークを使用するかどうかにかかわらず、マークアップテンプレートは最も確実に役立ちます。

ビュークラスとテンプレートは、どちらか一方または提案のように見えますが、実際にはそうではありません。それらは別の問題を完全に解決します。それらは互いに補完し合うものであり、置き換えるものではありません。

ビュークラス(Backbone.Viewあなたの場合)は、ビュー関連のロジックとイベント処理をスコープしてカプセル化します。これは優れた方法であり、テンプレートエンジンを使用するかどうかに関係なく使用する必要があります。

一方、テンプレートはデータをHTMLに置き換えるだけで、多かれ少なかれ何もありません。これはあなたの見解が行う必要があることであり、私がそれを見る方法では、これを達成するためのいくつかの方法があります。

  • 文字列連結によるHTMLの構築
    • "<div>" + this.model.name + "</div>"... ugh)
  • DOMノードをjQueryで埋める
    • $(".name").text(this.model.name)不条理な広告...
  • ある種のデータバインディングを使用する
    • いいですが、Backboneはこれをそのままではサポートしていません。
    • ただし、プラグインは存在します(Backbone.ModelBindingRivetsStickit ...)
  • テンプレートエンジンを使用する
    • データバインディングよりも軽量でシンプル
    • 表現をロジックから分離します

選択はあなた次第ですが、データバインディングまたはテンプレートフレームワークのいずれかがなければ私は行きません。アンダースコアによって提供されるテンプレートは強力ですが、私はハンドルバーなどのセマンティックでロジックのないテンプレートを好みます。

于 2013-01-18T11:38:28.577 に答える
1

ビューにHTMLとして出力されるJSONオブジェクトがある場合は、そこからいくつかのメリットが得られる可能性があります。

私の経験では、基本的ではなく、成長するアプリを作成する場合は、テンプレートを使用することをお勧めします。これにより、後で時間を節約できます。

詳細については、テンプレートのドキュメントページhttp://underscorejs.org/#templateをご覧ください。

于 2013-01-18T11:17:31.980 に答える