show more / less機能を実現するために、ハンドルバーヘルパーのパラメーターとしてhtml要素を渡すにはどうすればよいですか?

user3878988

ヘルパーハンドラーの条件に基づいて、特定の要素にクラス名を動的に追加するシナリオがあります。以下は私が使用しているコードです

<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]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ