2012-04-30 50 views
1

我试图根据值的内容的属性设置我的itemViewClass视图的类。下面根据项目的值设置CollectionView项目上的类

的代码产生:

<span id="ember326" class="ember-view spanValue"> 
<h5> 
<script id="metamorph-32-start" type="text/x-placeholder"> 
Select 
<script id="metamorph-32-end" type="text/x-placeholder"> 
</h5> 
</span> 

类被设置为“spanValue”,而不是从内容的价值。

任何想法?

谢谢。

listHeaderView: Ember.CollectionView.create({ 
classNames: ['jobs-list-header', 'row'], 
content: [ 
    Ember.Object.create({ 
     span: 'span1', 
     label: 'Select' 
    }), 
    Ember.Object.create({ 
     span: 'span1', 
     label: 'Status' 
    }), 
    Ember.Object.create({ 
     span: 'span1', 
     label: 'Tax Year' 
    }), 
    Ember.Object.create({ 
     span: 'span3', 
     label: 'Municipality' 
    }), 
    Ember.Object.create({ 
     span: 'span3', 
     label: 'School District' 
    }), 
    Ember.Object.create({ 
     span: 'span1', 
     label: 'Received' 
    }) 
], 
itemViewClass: Ember.View.extend({ 
    tagName: 'span', 
    classNames: ['spanValue'], 
    spanValue: function() { 
     return this.get('content').span 
    }.property(), 
    template: Ember.Handlebars.compile('<h5>{{content.label}}</h5>') 
}) 

}),

回答

3

有几件事情在这里。

首先return this.get('content').span应该可能使用return this.getPath('content.span')或类似的。

但是,您的主要问题在于您在定义itemViewClass时应该使用classNameBindings而不是classNames

希望帮助

+0

感谢那些确实帮助。 – dgaj

+1

classNameBindings也可以使用深度路径,因此您可以绑定到'content.span',而不需要为其创建本地属性。 –