で複数のプロパティを持つ新しいアイテムを追加します。私はかなりknockout.jsサイト上でこの例を次のようだ:は、私は、ボタンがクリックされたときに観察配列に新しい項目を追加しようとしているknockout.js
<form data-bind="submit:addItem">
<input id="comment" data-bind="value:itemToAdd.comment, valueUpdate: 'afterkeydown'" />
<input type="submit" value="Save contact" />
</form>
あなたが見ることができるように(これは例との違いである)、私の「itemToAdd: http://knockoutjs.com/examples/betterList.html
ここでは、関連するHTMLです"は複数のプロパティを持ち、そのうちの1つは"コメント "です。だから私はこのようにバインドしようとしている: "値:itemToAdd.comment"(私も "値:itemToAdd()。コメント")を試してみました。しかし、それは動作していないようです。ここに私のビューモデルの関連部分があります:
var viewModel = {
contactHistory: [{comment: 'test', date: '12/12/2011'}, {comment: 'test2', date: '12/11/2011'}],
itemToAdd: new ko.observable({ comment: 'dd', date: '' }),
addItem: function() {
alert(this.itemToAdd().comment);
if (this.itemToAdd().comment != "")
{
this.contactHistory.push(this.itemToAdd());
}
}
}
警告常に「DD」を表示し、そうitemToAddが正しくテキストボックスにバインドされていないようです。誰かが私が間違ってやっているアイディアを持っていますか?
ありがとう:前1.3へ
、あなたのような何かをする
data
パラメータとの結合テンプレートを使用することができます。私は値を試してみました、私の元の質問に言及しておく必要があります。itemToAdd()にもコメント。間違っている可能性のあることが他にもありますか? – Stefan私は参照してください。 KOには、ネストされた非観測可能なものへの書き込みに問題があります。あなたが持っているいくつかのオプションで答えが更新されました。 –
偉大な答えをありがとう。本当に助けてくれました。あまりにも私はupvote一度しかできない:) – Stefan