Sto provando a produrre un input di selezione e passare l'oggetto selezionato all'evento di modifica sulla vista. L'esempio di contatto ember utilizza uno <ul>
ma con una selezione la vista deve essere al di fuori di ciascuno altrimenti la modifica non viene attivata.seleziona menu a discesa con ember
Ecco l'js vista:
App.SelectView = Ember.View.extend({
change: function(e) {
//event for select
var content = this.get('content');
console.log(content);
App.selectedWidgetController.set('content', [content]);
},
click: function(e) {
//event for ul
var content = this.get('content');
console.log(content);
App.selectedWidgetController.set('content', [content]);
}
});
Il ul
dall'esempio funziona:
<ul>
{{#each App.widgetController.content}}
{{#view App.SelectView contentBinding="this"}}
<li>{{content.name}}</li>
{{/view}}
{{/each}}
</ul>
Ma se sostituisco direttamente html, l'evento di modifica non viene generato (che ha un senso)
<select>
{{#each App.widgetController.content}}
{{#view App.SelectView contentBinding="this"}}
<option>{{content.name}}</option>
{{/view}}
{{/each}}
</select>
Quindi immagino che la selezione debba essere racchiusa nella vista .. nel qual caso come faccio? passare l'oggetto corrispondente ... Questo codice determina l'intero array vengono passati:
{{#view App.select_view contentBinding="App.widgetController.content"}}
<select>
{{#each App.widgetController.content}}
<option>{{name}}</option>
{{/each}}
</select>
{{/view}}
@dhenze il collegamento è stato utile, anche se la risposta più alta utilizza una raccolta deprecata e la seconda risposta restituisce il valore e non l'oggetto. Ho creato questo violino [link] (http://jsfiddle.net/haydenchambers/Kekj3/) che restituisce l'oggetto MA passa attraverso l'indice all'interno della selezione quindi non posso raggrupparli per tipi all'interno di optgroups (il mio obiettivo finale) –