我想將此json映射到自定義對象。 問題是項目不是typeof Item對象,而是普通對象。 我在這裏錯過了什麼?knockoutjs使用嵌套數組映射自定義對象
您可以測試在這裏:http://jsfiddle.net/5jhpE/
var json = [
{
id: 1,
items: [
{id: 1, name: 'item1'},
{id: 2, name: 'item2'},
{id: 3, name: 'item3'}
]
},
{
id: 2,
items: [
{id: 4, name: 'item4'},
{id: 5, name: 'item5'},
{id: 6, name: 'item6'}
]
},
]
function Data(data) {
ko.mapping.fromJS(data, {}, this);
}
function Item(data) {
ko.mapping.fromJS(data, {}, this);
}
var map = {
create: function(options) {
return new Data(options.data);
},
items: function(options) {
return new Item(options.data);
},
}
var res = ko.mapping.fromJS(json, map);
輸出:
console.log(res());
[Data, Data]
--
console.log(res()[0].items());
[Object, Object, Object] <-- Here I want to have [Item, Item, Item]
是的,完美:KodeKreachor在他的帖子中找到了鏈接 –
doh !! Tnx很多隊友!我非常疲倦,我錯過了「創造」 – Oden