2016-06-15 12 views
1

ハンドルバーに新しくヘルパーを登録しましたが、ハンドルバーのヘルパーに式を渡すという単純な作業のように思えません。ハンドルバーへの式の受け渡しカスタムヘルパー

さんが言ってみましょう:

Handlebars.registerHelper('or', function (v1, v2) { 
    return (v1 || v2) ? options.fn(this) : options.inverse(this); 
} 

そして、それを使用して:もちろん

{{#conditional @index this.warranty_id !== "DEFAULT_FACTORY" }} 

それが失敗した、と私はそれを動作させる方法を見つけ出すことはできません。私が必要とするのは、渡される式が、ヘルパー内のv2の値になるようにブール値を返すということです。

ご協力いただければ幸いです。

+0

どのバージョンをオンになっていますか? [Ember.Helper.helper](http://emberjs.com/api/classes/Ember.Helper.html#method_helper) –

+0

@Kitlerはあなたの答え、いいえem​​ber、ハンドルバーノードモジュールに感謝します。 – Guillermo

+0

@Guillermo:箱の中のハンドルバーに '!=='はありません。あなたは同じようにカスタムヘルパーを書く必要があります –

答えて

1

!==を確認するためにhelperと書いてから、orヘルパー内に部分式として入れ子にする必要があります。あなたのテンプレートで

ORヘルパー

Handlebars.registerHelper('or', function (v1, v2) { 
    return (v1 || v2) ? options.fn(this) : options.inverse(this); 
} 

!==ヘルパー

Handlebars.registerHelper('ne', function (v1, v2) { 
    return (v1 !== v2); 
} 

、その後:あなたは残り火の

{{#or @index (ne this.warranty_id "DEFAULT_FACTORY")}} 
関連する問題