ヘルパーハンドラーの条件に基づいて、特定の要素にクラス名を動的に追加するシナリオがあります。以下は私が使用しているコードです
<table class="table table-striped" id="mytab">
<tbody>
{{#each records}}
<tr id="abc"> {{ showMore $this }}
<td>{{formatDate this.StartDateTime }}
</td>
</tr>
{{/each}}
</tbody>
</table>
' <tr>
'要素をパラメーターとして 'showMore'ヘルパーハンドラーに渡したい。
追加-以下は私のハンドラーコードです:
Handlebars.registerHelper('showMore', function(ele,options) {
var index = options.data.index;
});
上記の関数では、html要素にアクセスする必要があります
<tr>
ハンドルバーヘルパー内からにアクセスできるかどうかはわかりません。ただし、Handlebarsテンプレート内の要素にクラスを動的に追加するための1つのアプローチは、これを行うことです(ハンドラー参照はの属性値内にあることに注意してください)。class
<tr>
<table class="table table-striped" id="mytab">
<tbody>
{{#each records}}
<tr id="abc" class="{{showMore}}">
<td>{{formatDate this.StartDateTime }}
</td>
</tr>
{{/each}}
</tbody>
</table>
次に、showMore
ヘルパーを微調整して、現在のレコードに適用可能なクラス名を出力します。クラス名が必要ない場合もありますが、結果として得られる空class=""
は何も害することはありません。
this
ヘルパーthis
は関数のコンテキストとして現在のコンテキストを自動的に受け取るため、ヘルパーに渡す必要はないことに注意してください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加