我正在尝试发送一条消息,其内容源自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克隆属性以及如何调试克隆错误?
答案 0 :(得分:0)
我也遇到了Lightning中的Object.assign问题。我做得很好,使用:
var b = JSON.parse(JSON.stringify(a));
我当时的问题是,Object.assign({},a)
通过引用而不是通过值进行克隆。 (我知道这只能回答你问题的第二部分,但也许到目前为止你可以用它作为解决方法)
我刚刚读到你正在使用Window
函数。请注意,由于locker service