私はコマッピングで小さな問題を解決しようとしています。このシナリオでは、私のViewModelは基本的にオブジェクトの集合です。各オブジェクトは、この方法では、JSON呼び出しから作成されます。ノックアウトオートマップオブザーバブルから空のオブジェクトを作成
var ViewModel = ko.observableArray();
$.getJSON(url, function(data) {
ViewModel.push(ko.mapping.fromJSON(data));
});
これは完璧に動作し、私は私のHTMLに魔法のすべての並べ替えを行うことができます。 質問は、たとえば、私のコレクションに何かを追加したい場合、クライアント側の「追加と編集」シナリオをサポートするとします。基本的に私は他のと同じであるオブジェクトをプッシュする必要があり
function AddNew() {
this.push(// WHAT HERE?);
}
:私のような何かをしたいと思います:
<input type="button" value="add new" data-bind="click: AddNew" />
をそして私のようなものであることをViewModelににAddNewの機能を希望します既に存在していますが、もちろんすべての空白のプロパティがあります...
私はリストからオブジェクトを「クローン」し、すべての観測値を空に設定する方法を考えていましたが、恐れる:/
"マッピングプラグインの注意点は、オブジェクトを更新する際に、それらのオブジェクトが元々プラグインによってマップされていることを期待していることです。 - それが私に多くの時間を節約する前にこれを知っていたならば! – ec2011