単純なハンドルバーと変更された 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