根据项的值在CollectionView项上设置类

时间:2012-04-30 20:04:09

标签: ember.js

我正在尝试根据值内容的属性设置itemViewClass视图的类。

以下代码产生:

<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>

class设置为'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>')
})

}),

1 个答案:

答案 0 :(得分:3)

这里有几件事。

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

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

希望有所帮助