Я пытаюсь создать выбранный ввод и передать выбранный объект в событие изменения в представлении. В примере с электронным контактом используется <ul>
, но с выбором вида должно быть вне каждого, иначе изменение даже не будет выполнено.
Вот вид 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]);
}
});
ul
из примера работает:
<ul>
{{#each App.widgetController.content}}
{{#view App.SelectView contentBinding="this"}}
<li>{{content.name}}</li>
{{/view}}
{{/each}}
</ul>
Но если я заменяю html напрямую, событие изменения не запускается (что имеет смысл)
<select>
{{#each App.widgetController.content}}
{{#view App.SelectView contentBinding="this"}}
<option>{{content.name}}</option>
{{/view}}
{{/each}}
</select>
Итак, я думаю, что выбор должен быть обернут в представлении.. в этом случае, как передать соответствующий объект?... Этот код приводит к передаче всего массива:
{{#view App.select_view contentBinding="App.widgetController.content"}}
<select>
{{#each App.widgetController.content}}
<option>{{name}}</option>
{{/each}}
</select>
{{/view}}