今のところ、一連のオブザーバブルをデフォルトで簡単に初期化できます...
self.a = ko.observable(data.A || "");
self.b = ko.observable(data.B || "");
self.c = ko.observable(data.C || "");
しかし、もし私が次のようなことをしたいなら
var ViewModel = ko.mapping.fromJS(data)
そして、デフォルトを設定します。どうすればよいですか?
実際に次のようなことをしなければなりませんか
var ViewModel = function(data) {
ko.mapping.fromJS(data, {
c: {
create: function(options) { return ko.observable(options.data.c || "") }
};
}, this)
};
ご覧のとおり、これは大量のオーバーヘッドです。また、マッピング ライブラリで際立っていた利点の 1 つは、プロパティ名が変更されたときに更新する場所が 1 つ少なくなったことです。しかし、create コールバックを指定するためにプロパティ名を明示的に指定する必要がある場合、その利点は失われます。
私は間違っていますか?これをカバーする簡単な方法はありますか?