Hello Stack Overflowers!
假设:
{{#each user in model itemController="user"}}
<tr>
....
<td>{{ input type="checkbox" action="acceptChanges" on="click" class="toggle" checked=user.is_disabled }}</td>
然后在渲染视图时抛出错误:
Uncaught TypeError: string is not a function
但是,删除'on'属性,以便标记为:
<td>{{ input type="checkbox" action="acceptChanges" class="toggle" checked=user.is_disabled }}</td>
然后页面呈现。我的目标是绑定“acceptChanges”控制器方法来更改此值。 “acceptChanges”是一个ObjectController方法,它只是将对象保存在商店中。
这是我试图调用的objectcontroller方法:
AdminApp.UserController = Ember.ObjectController.extend({
actions: {
editUser: function(){
this.set('isEditing', true);
},
acceptChanges: function(){
console.log("accepting changes");
this.set('isEditing', false);
var model = this.get('model');
model.save();
}
},
答案 0 :(得分:0)
{{action="acceptChanges" on="click"}}
无效。试试{{change="acceptChanges"}}
。
有关更详细的说明,请参阅此link到Ember的文档。复选框接受更改事件,它可能更适合您的情况。
如果这不起作用,请尝试在此帖子上接受的答案:Trigger an action on the change event with Ember.js checkbox input helper?