调用breeze函数时如何将data-bind值作为参数传递

时间:2014-04-14 21:01:35

标签: knockout.js breeze

我想将数据绑定值作为函数参数传递。

以下是示例代码:

<data-bind="click: function (data) { myFunction('param1', data) }">

这是我的观点模型

 var vm = {
        分类:ko.observableArray(),
        产品:ko.observableArray(),
        CatID:ko.observable(&#34; 113&#34;),
        保存:saveChanges,
        过滤器:FilterProduct,
        };

CatID是可观察的,所以有些功能可以在调用CatID时更改它。我想在点击特定按钮时将此CatID作为参数传递。

请帮忙我该怎么做。

1 个答案:

答案 0 :(得分:5)

您可以像这样

传递data-bind中的observable
<button data-bind="click: myFunction(CatID)">Test Click</button>

在ViewModel中定义您的功能:

var vm = {
        Category: ko.observableArray(),
        Product: ko.observableArray(),
        CatID: ko.observable("113"),
        myFunction: function (obs) {
            alert(obs());
        }
    };

我在这里创建了一个示例:http://jsfiddle.net/nyothecat/QruPg/