我似乎无法获得在#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
其模型上的方法。然而,情况似乎并非如此。其他一些对象似乎正在处理单击操作,其中未定义“保存”处理程序。我在这里错过了什么吗?如何让每个订单项的按钮在其自己的模型上调用处理程序?
提前感谢您的帮助!