9

私はこのようなハンドルバーテンプレートを持っています:

<script type="text/x-handlebars" data-template-name="sections">
  {{#each section in controller}}
    {{#linkTo "section" section}} {{ section.label }} {{/linkTo}}
  {{/each}}
</script>

そして、すべてが正常に動作します。私のモデルオブジェクトは次のようになります。

App.Section = DS.Model.extend({
 sectionDetail: DS.attr('number'),
 label: DS.attr('string'),
 cssClass: DS.attr('string')
});

ヘルパー"cssClass"内のプロパティを使用したいと思います。"#linkTo"さて、それはどのように(構文的に)行うことができますか?

私はこれを試しましたが、使用{{section.cssClass}}するとの値はレンダリングされずsection.cssClass、裸の文字列がレンダリングされるため、これは明らかに機能しません"{{section.cssClass}}"

<script type="text/x-handlebars" data-template-name="sections">
  {{#each section in controller}}
    {{#linkTo "section" section class="{{section.cssClass}}"}} {{ section.label }} {{/linkTo}}
  {{/each}}
</script>

私はうまくいく解決策を見つけることができません、誰かが私をここで正しい方向に向けることができますか、または私がやりたいことを達成することは簡単ではありませんか?リンクを別の方法で作成する必要がありますか?

4

2 に答える 2

19

ここでつまずいた他の人にとって、解決策はを使用することclassNamesBindingsです。

<script type="text/x-handlebars" data-template-name="sections">
  {{#each section in controller}}
    {{#linkTo "section" section classNameBindings="section.cssClass"}} 
      {{section.label }}
    {{/linkTo}}
  {{/each}}
</script>
于 2013-01-30T01:08:58.253 に答える
-1

うん、私はこれを持っていた:

<input type="checkbox" {{bind-attr class=":toggle isLiked:toggleHighlight"}}>

そして、これを行う必要があり、それを入力ヘルパーにしますが、要素を閉じる方法を理解できませんでした(初心者):

{{input type="checkbox" checked=isLiked}}

そして、classNameBindingsが救いの手を差し伸べます。

{{input type="checkbox" checked=isLiked classNameBindings=":toggle isLiked:toggleHighlight"}}
于 2014-07-27T23:40:14.903 に答える