我正在尝试深复制大量的Json内容。但是,不幸的是,它仍然引用对象。
elobj 内容:
{
"children": [
{
"children": [
{
"children": [],
"cfg": {
"blockName": "",
"binding": {
"cbind": {},
"cBindAttrTexts": {},
"cBindAttr": {}
},
"layout": {},
"include": {}
},
"frontCfg": {
"pseudoClasses": {
"selectedClass": "None",
"InlineOrSelector": "Inline",
"selectedSelector": "New"
}
},
"natifChildren": {},
"cssConfig": {},
"htmlConfig": {
"class": {},
"attr": {}
},
"CBindTexts": [],
"CBindAttrTexts": {},
"CBindAttr": {},
"cssValues": {},
"customAttrs": {},
"type": "text",
"content": "A paragraph"
}
],
"cfg": {
"blockName": "",
"binding": {
"cbind": {},
"cBindAttrTexts": {},
"cBindAttr": {},
"cBind": {
"entity": "Entity2",
"field": "column2"
}
},
"layout": {},
"include": {},
"js": {}
},
"frontCfg": {
"pseudoClasses": {
"selectedClass": "None",
"InlineOrSelector": "Inline",
"selectedSelector": "New"
}
},
"natifChildren": {},
"cssConfig": {
"width": [
"auto",
[
"1266",
"px"
]
],
"height": [
"auto",
[
"20",
"px"
]
],
"backgroundSize": [
"auto auto",
[
0,
"px"
],
[
0,
"px"
]
],
"backgroundPosition": [
"custom",
[
"0",
"%"
],
[
"0",
"%"
]
]
},
"htmlConfig": {
"class": {},
"attr": {}
},
"CBindTexts": [],
"CBindAttrTexts": {},
"CBindAttr": {},
"cssValues": {},
"customAttrs": {},
"tag": "p",
"type": "p"
}
],
"cfg": {
"blockName": "",
"binding": {
"cbind": {},
"cBindAttrTexts": {},
"cBindAttr": {},
"cBind": {}
},
"layout": {},
"include": {},
"js": {}
},
"frontCfg": {
"pseudoClasses": {
"selectedClass": "None",
"InlineOrSelector": "Inline",
"selectedSelector": "New"
}
},
"natifChildren": {},
"cssConfig": {
"width": [
"auto",
[
"1266",
"px"
]
],
"height": [
"auto",
[
"30",
"px"
]
],
"backgroundSize": [
"auto auto",
[
0,
"px"
],
[
0,
"px"
]
],
"backgroundPosition": [
"custom",
[
"0",
"%"
],
[
"0",
"%"
]
]
},
"htmlConfig": {
"class": {},
"attr": {}
},
"CBindTexts": [],
"CBindAttrTexts": {},
"CBindAttr": {},
"cssValues": {},
"customAttrs": {},
"tag": "div",
"type": "div"
}
克隆代码:
var elobj = elem.myApp().getElementObject();
var elemObject = $.extend(true, {}, elobj);
elemObject.children[0].cfg.binding.cBind.field = "id";
console.log(elobj)
将 elobj 克隆到 elemObject 之后。当我将 field 更改为“ id”时,变量 elobj 的 field 应该具有原始值“ column2”。但是两者都更改为“ id”。