2012-09-16 54 views
1

我試圖在對象中的文本框綁定到一個值,這樣使用索引的路徑方式。如何灰燼

currentTypes = [{id: 1, name: 'Type name 1'}] 

我不知道如果我實施反模式,但我不認爲沒有動態指標,我可以做的,灰燼似乎並沒有讓我在使用索引路徑。

我試圖解決這個使用額外的視圖或助手,但一直卡住。 有沒有這方面的呃解決方案?

+0

這將有助於看到一個jsfiddle。例如,我無法確切地告訴你正在嘗試完成什麼。另外,如果「type」與contextRemarks有關,那麼type應該屬於/ hasOne contextRemark。 – Ryan

+0

有了關係語句,我的意思是說我不能在controller.currentTypes中存儲額外的信息 – leipie

回答

0

所以我的工作解決此問題,通過在私有財產在控制器上增加一個計算性能和存儲產生的數組:

App.MyController = Ember.Controller.extend({ 
    remarks: function() { 
    var remarks = this.get('currentTypes') || []; 
     this._remarks = remarks.map(function(remark) { 
     return { 
      id: remark.id, 
      name: remark.name, 
      value: '' 
     }; 
     }); 

     return this._remarks; 
    }.property('currentTypes') 
    }); 
} 

的觀點現在看起來是這樣的:

{{#each remarks}} 
    <label> 
    {{name}} 
    {{view Ember.TextField valueBinding="value"}} 
    </label> 
{{/each}} 

現在我可以訪問_remarks來查找用戶的輸入,這是我可以想到的最可愛的解決方案,也可能是「正確的解決方案」;)