ko.mapping プラグイン create 関数を使用して、計算されたオブザーバブルを階層ビューモデルに追加しようとしています。しかし、関数は最上位の「子」配列でのみ機能します! コードは次のとおりです。
Children:[{
Name: "Page 1",
Children: [ {
Name: "Page 1 > 1",
Children: [{
Name: "Page 1 > 1 > 1",
Children: []
}
,{
Name: "Page 1 > 1 > 2",
Children: []
}
]
}
]
},
{
Name: "Page 2",
Children: [
{
Name: "Page 16",
Children: []
}
]
},
{
Name: "Page 3",
Children: [
{
Name: "aaaaa",
Children: []
}
]
私の機能は次のとおりです
var computed = function (data) {
var self = this;
ko.mapping.fromJS(data, {}, self);
self.Uri = ko.computed(function () {
console.log(self.Name());
return self.Name() + " Something";
});
};
var mapping = {
'Children': {
create: function (o) {
return new computed(o.data);
}
}
};
ko.mapping.fromJS(data, mapping, vm);
「計算された」関数をすべての「子」配列で実行する方法はありますか? ありがとう。