単純なハンドルバーと変更された Ember ハンドルバー ヘルパーに加えられたこれらすべての変更に追いつくことができません。私の記憶が正しければ、次の方法でヘルパーを登録できます
- Ember.Handlebars.helper
- Ember.Handlebars.registerHelper
- Ember.Handlebars.registerBoundHelper
- Handlebars.registerHelper
それは私には多すぎる。違いは何ですか?
単純なハンドルバーと変更された Ember ハンドルバー ヘルパーに加えられたこれらすべての変更に追いつくことができません。私の記憶が正しければ、次の方法でヘルパーを登録できます
それは私には多すぎる。違いは何ですか?
Ember.Handlebars.registerHelper引数文字列をプロパティにバインドしない基本的なヘルパーです。たとえば、挨拶メッセージを返すだけの でhello作成されたヘルパーを考えてみましょう。registerHelper
Ember.Handlebars.registerHelper('hello', function(name) {
return 'Hello ' + name;
});
テンプレートで使用する場合は、
{{hello name}}
として表示テキストを取得しますHello name。nameプロパティの値は検索されません。
プロパティの値をname必要なヘルパーに取得するには、registerBoundHelper. 名前が示すように、nameプロパティとの間にバインディングを作成します。変更nameが行われるたびに、ヘルパーが再度呼び出されて再レンダリングされます。実装は似ていますが、
Ember.Handlebars.registerBoundHelper('hello', function(name) {
return 'Hello ' + name;
});
これは、必要なヘルパーの種類を自動検出するための追加のチェックとEmber.Handlebars.helper同じです。registerBoundHelper
バニラHandlebars.registerHelperは Ember 内では使用されません。Ember を使用しないプロジェクトに対しても同様のヘルパーが作成されます。
Ember.Handlebars.helperヘルパーを登録するために使用する必要がありますが、他の方法はその限定バージョンです。Ember.Handlebars.helperビューとモデルの同期を維持するバインディングを使用して HTML をレンダリングします。関数、ビュー、およびコンポーネントは、ヘルパー定義として提供できます。
Ember.Handlebars.registerBoundHelperは と同じEmber.Handlebars.helperですが、ヘルパー定義として関数のみを指定できます。
Ember.Handlebars.registerHelper以前に委任されましたHandlebars.registerHelper。Ember.Handlebars.registerHelperはもう存在しませんが、バインディングが設定された後にすべてのヘルパーを作成するためにHandlebars.registerHelper内部で使用されています。Ember