このようなjsonとしてサーバーから来るビューモデルがあります
{
Project: {
Items: {
ItemA: {
Tags: [
...
]
},
ItemB: ...
}
}
}
次に、このオブジェクトを knockout.mapping プラグインにバインドしますが、たとえば、マークアップで次のようなことができるように、ItemA に Marked オブザーバブルを追加する必要があります。
<ul data-bind="foreach: Project.Items">
...
<input type="checkbox" data-bind="checked: Marked">
create
マッピング プロセスでオプションを使用してみました (ここに示すようにko.mapping create function, extend objectcreate
)、メソッドをネストして Project.Items のオブジェクトを拡張する方法がわかりません。
私はこのようなマッピングを試みてきました
var mappings = {
'Items': {
create: function (options) {
return $.map(options.data, function(obj) {
return new Item(obj);
});
}
}
}