Ember复选框输入帮助程序无法用户' on'属性

时间:2015-02-11 18:15:12

标签: ember.js

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();
        }
    },

1 个答案:

答案 0 :(得分:0)

{{action="acceptChanges" on="click"}}无效。试试{{change="acceptChanges"}}。 有关更详细的说明,请参阅此link到Ember的文档。复选框接受更改事件,它可能更适合您的情况。 如果这不起作用,请尝试在此帖子上接受的答案:Trigger an action on the change event with Ember.js checkbox input helper?