2012-03-10 11 views
5

Sto tentando di utilizzare il controllo Ember.Select per impostare un ID di associazione su un modello. Tuttavia, non riesco a ottenere il controllo per associare la sua selezione a un attributo id invece dell'intero oggetto del modello. È questo in base alla progettazione nel controllo Ember.Select? Ho il seguente nel mio modello:Come utilizzare Ember.Selezionare per impostare gli ID di associazione

{{view Ember.Select 
     contentBinding="App.peopleController.content" 
     selectionBinding="App.selectedPersonController.personId" 
     optionLabelPath="content.fullName" 
     optionValuePath="content.id"}} 

Eppure, anche con l'impostazione esplicitamente selectionBinding per l'attributo personId sembra essere ancora il legame con l'oggetto persona. jsfiddle completa qui: http://jsfiddle.net/PXVZb/10/

+0

Sembra che questo comportamento sia previsto, vedere https://github.co m/emberjs/ember.js/blob/master/packages/ember-handlebars/lib/controls/select.js # L37 – pangratz

+0

Sì, sembra così, ma mi chiedo perché il controllo accetta e il parametro optionValuePath ... sembra che quel parametro non abbia alcun effetto, o almeno non nel mio jsFiddle. –

+1

'optionValuePath' indica alla vista' Ember.Select' quale proprietà detiene il valore su tutti i tag '

risposta

1

vorrei suggerire di impegnare la persona selezionata al App.selectedPersonController e creare una proprietà personId che si lega alle persone id, vedere http://jsfiddle.net/PXVZb/11/

JS:

App.selectedPersonController = Ember.Object.create({ 
    personIdBinding: 'person.id' 
}); 

Manubrio:

{{view Ember.Select 
     contentBinding="App.peopleController.content" 
     selectionBinding="App.selectedPersonController.person" 
     optionLabelPath="content.fullName" }} 
Problemi correlati