1

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.ジャンル  
});

これはおそらく単純化できますが、リモート サービスからジャンルを選択することはできませんが、一時的な状態変更としてのみ使用されます。

4

1 に答える 1