2015-02-11 43 views
0

Hello Stack Overflowers!Ember复选框输入助手不能用户'on'属性

鉴于:

{{#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 

然而,去除在 '接通' 属性,使得加价是:

<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

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

+0

感谢反引用,安迪 – 2015-02-11 18:41:20

+0

它呈现,它只是不调用该方法。 – RedMage 2015-02-11 18:42:10

+0

我的不好,应该改变,不要点击。编辑以显示正确的事件。 – 2015-02-11 18:46:46