如果我有:如何将几个输入值传递给绑定函数?
...
<li>Title: <input id="name" /></li>
<li>Author: <input id="author" /></li>
...
<button data-bind='click: $root.Add'>Add</button>
,我想在用户输入传递给绑定到一个按钮的功能(Add
),我将如何做到这一点?
我不知道如何拉值,然后将它们作为参数传递。
如果我有:如何将几个输入值传递给绑定函数?
...
<li>Title: <input id="name" /></li>
<li>Author: <input id="author" /></li>
...
<button data-bind='click: $root.Add'>Add</button>
,我想在用户输入传递给绑定到一个按钮的功能(Add
),我将如何做到这一点?
我不知道如何拉值,然后将它们作为参数传递。
您可以绑定您的方法调用,以使用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);
好吧,所以基本上输入必须也必然真正处理这个。 – Yatrix 2013-04-24 19:59:48
正确。一旦绑定,这变得非常容易。 – PatrickSteele 2013-04-24 20:18:43
这是结合一个foreach约束力的内部发生了什么? – PatrickSteele 2013-04-24 19:37:16
@PatrickSteele不,它不是。 – Yatrix 2013-04-24 19:38:11