ドキュメントはこちら:
http://emberjs.com/guides/views/customizing-a-views-element/
ビューでクラス名を true/false 値にバインドする方法について説明します。モデル属性の 1 つをビュー クラス名にバインドする方法はありますか?
例えば
App.Category = DS.Model.extend({
name: DS.attr('string'),
type: DS.attr('string'), // The loaded model could have a type of 'typeA' or 'typeB'
});
App.CategoryView = Ember.View.extend({
classNameBindings: ['type'],
type: function(){
return this.model.get('type'); // This doesn't work obviously
},
tagName: 'li'
});
レンダリングします
<li class="typeA"> [template_contents_are_here] </li>
編集:Ember 1.0rcの使用
編集 2
もう少し進んで、関数から値を返すことができるようになりました。ただし、最初の反復で正しい値のみが返されます。サーバーからロードされている一連のモデルがあり、それぞれが {{control}} ヘルパーを使用してレンダリングされています (したがって、レンダリングごとに新しいビューとコントローラーを作成します)
App.CategoryView = Ember.View.extend({
classNameBindings: ['type'],
type: function(){
return this.controller.get('model.type');
}.property()
tagName: 'li'
});