在绑定传递自我上敲除多个动作

时间:2015-08-14 16:48:35

标签: javascript knockout.js

我有以下代码:

<button data-bind="click:function(){ saveTask(), toggle()}">Save</button>

我的saveTask函数如下:

self.saveTask = function(item){
    alert(JSON.stringify(item));
}

我收到的错误是该项未定义。

通常当我有一个绑定到我的点击的功能时,它就是:

<button data-bind="click:saveTask">Save</button>

然后我当前在的项目将被传递给saveTask函数,当我在点击时绑定多个函数时,我如何将当前项目(self)传递给saveTask函数?

1 个答案:

答案 0 :(得分:2)

您不会将参数传递给绑定函数或它调用的函数。你的装订应该看起来像:

<button data-bind="click: function(item){ saveTask(item); toggle(item); }">Save</button>

当你写data-bind="click: saveTask"时,Knockout会在saveTask之下调用saveTask(item)。由于您反而为其提供匿名功能,因此您需要执行相同操作。