这里的文档:
http://emberjs.com/guides/views/customizing-a-views-element/
讨论将类名绑定到视图中的真/假值。有没有办法将我的模型属性之一绑定到视图类名称?
例如
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'
});