2013-04-24 80 views
0

如果我有:如何將幾個輸入值傳遞給綁定函數?

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

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

,我想在用戶輸入傳遞給綁定到一個按鈕的功能(Add),我將如何做到這一點?

我不知道如何拉值,然後將它們作爲參數傳遞。

+0

這是結合一個foreach約束力的內部發生了什麼? – PatrickSteele 2013-04-24 19:37:16

+0

@PatrickSteele不,它不是。 – Yatrix 2013-04-24 19:38:11

回答

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); 
+0

好吧,所以基本上輸入必須也必然真正處理這個。 – Yatrix 2013-04-24 19:59:48

+0

正確。一旦綁定,這變得非常容易。 – PatrickSteele 2013-04-24 20:18:43

相關問題