Pregunta
Estoy tratando de producir una entrada seleccionada y pasar el objeto seleccionado al evento de cambio en la vista. El ejemplo de contacto de Ember usa un <ul>
Pero con una selección, la vista debe estar fuera de cada uno, de lo contrario, el cambio incluso no se dispara.
Aquí está la vista JS:
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]);
}
});
los ul
Del ejemplo funciona:
<ul>
{{#each App.widgetController.content}}
{{#view App.SelectView contentBinding="this"}}
<li>{{content.name}}</li>
{{/view}}
{{/each}}
</ul>
Pero si reemplazo HTML directamente, el evento de cambio no se dispara (lo que tiene sentido)
<select>
{{#each App.widgetController.content}}
{{#view App.SelectView contentBinding="this"}}
<option>{{content.name}}</option>
{{/view}}
{{/each}}
</select>
Así que supongo que la selección debe envolverse en la vista ... ¿en cuyo caso paso el objeto relevante? ... Este código da como resultado que se apruebe toda la matriz:
{{#view App.select_view contentBinding="App.widgetController.content"}}
<select>
{{#each App.widgetController.content}}
<option>{{name}}</option>
{{/each}}
</select>
{{/view}}
No hay solución correcta
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow