web-dev-qa-db-ja.com

ハンドルバー部分対レンダリング対テンプレート

Fire Up Ember.js screencastpartialtemplaterenderを使用してテンプレート内でテンプレートをレンダリングしますが、それでもわかりませんどちらを使用するか。

同じスクリーンキャストでは、partialはコンテキストと現在のコントローラーに関連するすべてのデータを使用するものとして説明されていますが、renderは指定されたコントローラーの一致するテンプレート、コンテキストなどを使用しています。

Fire Up Ember.js: partial versus Fire Up Ember.js

誰かがpartialtemplaterenderの違いと、いつ(例)を使用するかを明確にできますか?

37
Marius Butuc

私がそれを理解する方法、それらが分解する方法は次のとおりです:

「レンダー」は、独自のビュー/コントローラー/テンプレートコンテキスト全体を提供します。

例は、動的な部分を含むトップナビゲーションです。コンテンツはTopNavController内で維持され、「render」を使用してアプリケーションテンプレートに挿入されます

"partial"はテンプレートを挿入しますが、そのテンプレートは独自の代わりに現在のコンテキストを使用します。部分的は、フレームワークの新しい部分でもあり、テンプレートをある程度使用して置き換えることを目的としています。

たとえば、ユーザーのリストを表示し、各ユーザーをリスト内の比較的複雑な部分(アバター、名前、電子メールなど)にすると、リストをループして、各ユーザーのコンテキストに基づいてパーシャルを挿入できます。

「テンプレート」は、現在のコンテキストを使用してテンプレートを挿入するだけです。テンプレートを使用してテンプレート内の部分をレンダリングするのは良いスタイルではないと思いますが、テンプレートはほとんどの場合同じように機能しますが、「部分」を使用する必要があります。

37
Andre Malan

この グラフ は、エンバーのWebサイトで提供されており、レンダリング、パーシャル、ビューを適切に比較しています。

以下は、ウェブサイトで提供されている比較のスニペット画像です。

enter image description here

34
user2431285

クライアント側のメモリ使用量の観点から、どちらが良いか、レンダリングまたは部分的。少数のオブジェクトが少ないほど部分的であると仮定する

1