如何将多个输入值传递给绑定函数?

时间:2013-04-24 19:22:11

标签: binding knockout.js

如果我有:

  ...
    <li>Title: <input id="name" /></li>
    <li>Author: <input id="author" /></li>
  ...

<button data-bind='click: $root.Add'>Add</button>

我希望将用户输入传递给绑定到按钮的函数(Add),我该如何实现?

我不知道如何拉取值然后将它们作为参数传递。

1 个答案:

答案 0 :(得分:1)

您可以绑定方法调用以使用viewmodel($ root)作为方法的“this”上下文。然后像往常一样访问属性:

http://jsfiddle.net/psteele/Wf9xj/

<div>Title: <input id="name" data-bind="value: name" /></div>
<div>Author: <input id="author" data-bind="value: author" />
    <input type="button" value="X" data-bind="click: show.bind($root)"></input></div>

var vm = {
    name: 'Bob',
    author: 'King',
    show: function() {
        alert(this.name + '-' + this.author);
    }
}

ko.applyBindings(vm);