knockoutjs を使用して、大規模で複雑なデータをマップしようとしています。私は公開モジュールパターンを使用しています。
オブジェクトのすべての要素を監視可能にするために、マッピング プラグインを使用しています。しかし、私は問題にぶつかりました: ko.mapping.fromJS() を使用する例をどこにも見つけることができません。 ajax 呼び出しが行われ、一部のデータが取得されました。つまり、初期データがないため、初期マッピングを null、空、またはデフォルトでいっぱいにする必要があります。
これは、関連する唯一の情報です
初期データなし/空のフォームのノックアウト JS マッピング プラグイン
しかし、これは実際には同じ問題を解決しません。少なくとも、同じ問題を解決することはできません。
そして、ここに大まかに私が持っているコードがあります。
var viewModel = function(){
var farmyard = *** What?? ***;
var refreshData = function(){
var temp = null;
$.ajax(
// awesome server call etc
success: function(data){
temp = data;
}
);
ko.mapping.fromJS(temp, farmyard);
};
return{
farmyard: farmyard,
refreshData: refreshData
}
};
$(function(){
var vm = new viewModel();
ko.applybindings(vm);
$('#something).on('click',function(){
vm.refreshData();
});
});
それで、私の質問は、このオブジェクトの初期ロードの農場は何ですか? 現時点では、これを機能させるために空のオブジェクトをセットアップし、すべてのオブジェクトのすべての要素をハンドコーディングする必要がありました。前述のように、マップされるオブジェクト階層は大きく複雑であるため、これは理想的ではありません。どんな助けでも大歓迎です。
ありがとう。