我无法获取knockout.js映射选项来处理嵌套值。使用以下代码,第一级“shouldBeCopied”工作正常,嵌套的“shouldBeCopied”值始终是可观察的。
var data = {
shouldBeCopied: "copied",
nested: {
shouldBeCopied : "copied"
}
};
var vm = ko.mapping.fromJS(data, {
'copy': ["shouldBeCopied"],
"nested": {
'copy': ["shouldBeCopied"]
}
});
console.log(vm);
有什么想法吗?
Here's a fiddle如果有人想玩它。
答案 0 :(得分:3)
使用copy
,ignore
,observe
等选项时,您无需在映射选项中迷失对象结构(例如使用create
时)
您需要在"nested.shouldBeCopied"
数组中使用属性访问器表达式(copy
)来配置嵌套属性:
var data = {
shouldBeCopied: "copied",
nested: {
shouldBeCopied : "copied"
}
};
var vm = ko.mapping.fromJS(data, {
'copy': ["shouldBeCopied","nested.shouldBeCopied"]
});
将输出:
演示JSFiddle。