2013-04-03 63 views
1

我的控制器中有一個值比我想用來綁定動態類。綁定到Ember視圖中的比較

isSelected: (-> 
    this.get('selectedConference') == '1A' 
).property('selectedConference') 

但我想要它比較它在每個塊中循環的值。

{{each conference in controller.reverseConferences}} 
    <li> 
     <a> 
     {{isSelected}} 

如何將{{this}}傳遞給isSelected?

回答

0

在這種情況下,您需要在會議控制器上使用each助手的itemController屬性和needs屬性。這是一個可以幫助你的jsbin:http://jsbin.com/atomuy/3/

itemController允許將會議模型包裝到控制器中,並創建您在模板中需要的isSelected屬性。每次點擊會議時,select動作將被觸發,並且會議通過將被設置爲selected會議的ConferencesController。每個ConferenceController觀察選定的會議。 isSelected如果它恰好與通過的屬性相同,屬性將發生變化。數據綁定可以爲您更新所有內容。

希望它可以幫助這裏

0

的解決方案是創建一個視圖,做我綁定在

App.TeamsConferencesView = Ember.View.extend 
    templateName: "teams/conferences" 
    selectedBinding: 'controller.selectedConference' 
    loadingBinding: 'controller.loadingData' 
    ConferenceItemView: Ember.View.extend 
    tagName: 'li' 
    classNameBindings: 'isActive:active'.w() 
    isActive: (-> 
     this.get('content') == this.get('parentView.selected'); 
    ).property('item', 'parentView.selected').cacheable() 

現在,當我更新了它必然要我的觀點和適當的在我的控制器的selectedConference項目被激活。

我會徽模板看起來像這樣

each conference in controller.reverseConferences 
    view view.ConferenceItemView contentBinding="conference" 
    linkTo teams.conferences conference 
     conference