HandelbarsJS と Backbone を使用したセットアップを検討しています。
これは私のテンプレートの一部です:
<a href="#genre/{{ name }}" class="genre-item" data-genre="{{ name }}">
<i class="icon-chevron-{{#if is_selected }}down{{else}}right{{/if}}"></i>
{{ display_name }} ({{ total }})
</a>
意味: モデルが選択されているかどうかに応じて、異なるアイコンをレンダリングしたい。ただし、「icon-chevron-down」パスは取得されませんが、常に「icon-chevron-right」パスが取得されます。私が見逃しているアイデアはありますか?
編集
ジャンルの選択は、次のようにモデル レベルで機能します。
MA.Models.Genre = Backbone.Model.extend({ デフォルト: { 選択: false }、 is_selected: 関数() { return (this.get('selected') == true); }、 トグル: 関数() { if (this.is_selected()) { this.set('selected', false); } そうしないと { this.set('selected', true); } } }); MA.Collections.Categories = Backbone.Collection.extend({ モデル:MA.Models.ジャンル });
これはおそらく単純化できますが、リモート サービスからジャンルを選択することはできませんが、一時的な状態変更としてのみ使用されます。