2

次のようなテンプレートがある場合:

{{#view App,NavItemView}}
<li {{bindAttr class="isActive:active"}}>Item 1</li>
{{/view}}

そして、の見方

App.NavItemView = Ember.View.extend({
  tagName: 'ul',
  isActive: function() {
    return false;
  }
});

レンダリングされたテンプレートは、要素の「アクティブ」のクラスを常にレンダリングしますli。これに基づいて、条件付きクラスを設定することはできないようですか?

理想的には、関数の結果に基づいて、li 要素のクラスをオンまたはオフにしたいと考えています。何か不足していますか?

4

1 に答える 1

7

この種のものには、計算されたプロパティを使用する必要があります。

App.NavItemView = Ember.View.extend({
  tagName: 'ul',
  isActive: function() {
    return false;
  }.property()
});

詳細については、計算されたプロパティ ガイドを確認してください。

于 2013-01-05T09:11:22.380 に答える