Railsのように、emberjsでさまざまなレイアウトファイルの実装を探しています。
たとえば、メインアプリ用の「application_layout.hbs」とログインページ用の別のものを用意します。たとえば、「login_layout.hbs」。
質問する
62 次
1 に答える
0
私はそれを自分で実装していませんが、これはおそらくあなたが探しているものであり、ember ソースコードから取られています
ビューには、メイン テンプレートをラップするセカンダリ テンプレートを含めることができます。プライマリ テンプレートと同様に、レイアウトは、オプションのコンテキスト パラメーターを受け取り、ビューのタグ内に挿入される HTML の文字列を返す任意の関数にすることができます。HTML 要素が自己終了するビュー (例:
<input />
) はレイアウトを持つことができず、このプロパティは無視されます。最も一般的な Ember では、レイアウトはコンパイル済みのEmber.Handlebars
テンプレートになります。ビューのレイアウトは、プロパティを使用して直接設定するlayout
か、プロパティを使用して既存のハンドルバー テンプレートを名前で参照できlayoutName
ます。レイアウトとして使用されるテンプレートには、Handlebars{{yield}}
ヘルパーの 1 回の使用が含まれている必要があります。ビューのレンダリングの HTML コンテンツは、次のtemplate
場所に挿入されます。
JS
AViewWithLayout = Ember.View.extend({
layout: Ember.Handlebars.compile("<div class='my-decorative-class'>{{yield}}</div>")
template: Ember.Handlebars.compile("I got wrapped"),
});
それが役に立てば幸い
于 2013-05-12T06:48:29.787 に答える