2016-07-11 14 views
0

私は2つのヘルパーを持っています.1つはtablerows、もう1つはsvg-iconです。私はsvg-iconの結果をtablerowsに渡したい。 svg-iconはHTMLのHandlebars.SafeStringを返します。どうすればこれを達成できますか?私は部分式と呼ばれるものを見ましたが、それを働かせることはできません。ハンドルバー他のヘルパーにヘルパーを渡す

{{#tablerows section="Highlights" }}{{/tablerows}} 
    {{#svg-icon symbol=symbol.value size="small" class="svg-icon--table" }}{{/svg-icon}} 

これは私が達成しようとしている何ではありませんが、何の成功:

{{#tablerows section="Highlights" {{#svg-icon symbol=symbol.value size="small" class="svg-icon--table" }}{{/svg-icon}} }} 
{{/tablerows}} 

答えて

0

彼らはBlock Helpersであるかのようにあなたが#記号を使用することによって、あなたのヘルパーを呼び出している、しかし、する必要はありません開始タグと終了タグの間に何もないので、ブロックヘルパーになるようにします。

私たちが代わりにregular、非ブロック、ヘルパーとしてこれらのヘルパーを使用する場合、我々はtablerowsヘルパーにsvg-iconヘルパーの結果を渡すためにsubexpressionsを利用することができます:

{{tablerows (svg-icon symbol=symbol.value size="small" class="svg-icon--table") section="Highlights"}} 

注:これはtablerowsヘルパーはその最初のパラメータとして、svg-iconによって返されるように、HTML文字列を受け入れるように定義されていることを前提としています

Handlebars.registerHelper('tablerows', function (iconHtml, options) { 
    /* Helper body goes here. */ 
}); 
関連する問題