2012-09-20 63 views
1

把手得到灰燼中選擇該值低於: - {在控制器{#each類}}如何通過下面的代碼

{{view Ember.Select 
    contentBinding="App.testsController.content" 
    optionLabelPath="content.category" 

    selectionBinding="content.myVal" 

}}  

{{view Ember.Select 
    contentBinding="App.testsController.content" 

    optionLabelPath="content.type" 
}} 

{{view Ember.Select 
    contentBinding="App.testsController.content"  
    selectionBinding="content.myVal" 
}} 

controller is :- 
App.TestsController = Ember.ArrayController.extend({ 
    content: [] 
}); 

model is :- 
App.Test = Ember.Object.extend(
category: null 
type: null 
#operands: null 
#defaults: null 
) 

在視圖中,我沒能獲得價值範疇並鍵入。它不顯示。如何解決這個問題?

+0

請仔細閱讀文檔以及代碼。 https://github.com/emberjs/ember.js/blob/master/packages/ember-handlebars/lib/controls/select.js我已經在 – sabithpocker

回答

1

請參考Git hub doc,以下是相關部分。

或者,您可以通過用於呈現每個對象的底層對象 來控制選擇,以提供selectionBinding。當所選擇的 <option>被改變時,提供給selectionBinding 屬性路徑將被更新以匹配渲染<option> 元素的內容對象:

App.controller = Ember.Object.create({ 
selectedPerson: null, 
content: [ 
Ember.Object.create({firstName: "Yehuda", id: 1}), 
Ember.Object.create({firstName: "Tom", id: 2}) 
] 
}); 

{{view Ember.Select 
contentBinding="App.controller.content" 
optionValuePath="content.id" 
optionLabelPath="content.firstName" 
selectionBinding="App.controller.selectedPerson"}} 

將導致下面的HTML與選定的選項:

<select class="ember-select"> 
<option value>Please Select</option> 
<option value="1">Yehuda</option> 
<option value="2" selected="selected">Tom</option> 
</select> 
2

你gr通過路由器控制你的控制器?如果是這樣,你可能特別需要調用contentBinding:'App.router.testsController.content'

另外,你的selectionBinding應該是'controller.myVal'而不是'content.myVal'。

+0

下面添加了一個相關部分...謝謝 – Amartya

+0

很酷!如果我的建議起作用了,那麼您是否會將其標記爲答案?謝謝!! – tygirl76