在KnockoutJS的映射插件中使用toJS时,我不能忽略嵌套属性吗?
示例:
var obj = {
"akey": {
"anestedkey": "ignore",
"anotherkey": "value"
}
};
console.log(ko.mapping.toJS(obj, {
"ignore": ["akey.anestedkey"],
}));
预期输出
{
akey: {
anotherkey: "value"
}
}
实际输出
{
akey: {
anestedkey: "ignore"
anotherkey: "value"
}
}
JSFiddle:http://jsfiddle.net/48KVU/
答案 0 :(得分:3)
如果你删除了父母(如果你知道你的密钥在obj中是唯一的,或者如果你想删除所有出现的情况),它就有效:
var obj = {
"akey": {
"anestedkey": "ignore",
"anotherkey": "value"
}
};
console.log(ko.mapping.toJS(obj, {
"ignore": ["anestedkey"], //here
}));
答案 1 :(得分:1)
据我所知,你只能在制图时提供选项; toJS
和toJSON
用于取消映射。
使用嵌套键在映射时工作正常:
var obj = {
"akey": {
"anestedkey": "ignore",
"anotherkey": "value"
}
};
console.log(ko.mapping.fromJS(obj, {
"ignore": ["akey.anestedkey"],
}));