[英]How to clone only properties with Object.assign?
我试图发送一条消息,其内容是从Javascript代理派生的,而postMessage()
方法失败,除非是在新对象上手动复制代理的属性时:
Failed to execute 'postMessage' on 'Window': [object Object] could not be cloned.]
但是,如果我通过样板代码手动分配所有字段,例如
var b = {};
b.myField = a.myField;
postMessage可以正常工作。 我期望的是,以下内容也可以正常工作:
var b = Object.assign({},a);
但在这种情况下,它会失败,并显示相同的消息。 为什么是Object.assign克隆属性,如何调试克隆错误?
我在Lightning中也遇到了Object.assign的问题。 我做得很好,使用:
var b = JSON.parse(JSON.stringify(a));
当时我的问题是, Object.assign({},a)
通过引用而非值进行克隆。 (我知道这只能回答您问题的第二部分,但到目前为止您也许可以将其用作解决方法)
我刚刚读到您正在使用Window
函数。 请注意,由于更衣室服务 ,窗口对象是闪电中的包装对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.