Tıklat eylemini ilişkili modeline bağlamak için #each
şablon döngüsünde oluşturulan bir düğme göremiyorum. İşte sorunun hızlı bir demo ... varEmber.js - Bir #each döngüsünden bir düğmenin eylemini kendi modeline bağlama
Ember.js
uygulama kurulumu:
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'
}));
}
});
şablonu:
<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>
sorun: Bu basit
Yani, fikir, demo senaryosunda, her kayıt için "Kaydet" butonu, kendi modelinin durumunu kaydetmek için bir eylemi tetikleyecektir. Ancak, Kaydet düğmesini tıklayarak bir hata veriyor:
Uncaught TypeError: Cannot call method 'call' of undefined
Benim varsayım düğmenin eylemi kendi modeline save
yöntemine bağlamak gibi belirterek "kaydet" olurdu. Ancak, bu durum böyle görünmemektedir. Diğer bazı nesneler, "kaydetme" işleyicisinin tanımlanmamış olduğu tıklama eylemlerini ele alıyor gibi görünüyor. Burada bir şey mi eksik? Her bir satır öğesinin düğmesi kendi modelinde bir işleyiciyi nasıl arayabilir?
Yardımlarınız için şimdiden teşekkür ederiz!
Sen ayarlayarak bir eylemin bir hedefi tanımlayabilirsiniz
ikinci yaklaşımla her döngü içinde bahsedilen eylem yaklaşım kullanmak bana yardımcı olur! – Franco
Genel arama kullanımdan kaldırıldı – Sisir