2012-04-30 90 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',而不需要爲其創建本地屬性。 –