Я не могу получить кнопку, сгенерированную в цикле шаблона #each
, чтобы связать действие click с его ассоциированной моделью. Вот краткий демо проблемы ...Ember.js - привязка действия кнопки из цикла #each к собственной модели
Установка Ember.js
приложение:
window.Contacts = Ember.Application.create();
Contacts.Person = Ember.Object.extend({
first: '',
last: '',
save: function() {
// send updated information to server.
}
});
Contacts.contactsList = Ember.ArrayController.create({
content:[],
init: function() {
this.pushObject(Contacts.Person.create({
first:'Tom',
last:'Riddle'
}));
}
});
Шаблон:
<script type="text/x-handlebars">
{{#each Contacts.contactsList}}
<li>
{{view Ember.TextField valueBinding="first" viewName="firstname"}}
{{view Ember.TextField valueBinding="last" viewName="lastname"}}
<button {{action "save" on="click"}}>Save</button>
</li>
{{/each}}
</script>
Проблема:
Таким образом, идея в этом простом демо-сценарий заключается в том, что кнопка «Сохранить» для каждой записи вызовет действие для сохранения состояния собственной модели. Тем не менее, нажав на кнопку Сохранить выдает ошибку:
Uncaught TypeError: Cannot call method 'call' of undefined
Мое предположение было бы, что определение «сохранить», как действие этой кнопки будет привязать его к save
методу на его модели. Однако, похоже, это не так. Похоже, что какой-то другой объект обрабатывает действия кликов, в которых «хранитель» не определен. Я что-то упустил? Как я могу сделать, чтобы кнопка каждой позиции вызывала обработчик на собственной модели?
Заранее благодарим за любую помощь!
второй подход помогает мне! – Franco
Глобальный поиск устарел – Sisir