【发布时间】:2020-07-09 23:55:05
【问题描述】:
我执行以下操作:
const blockOrField = new Block();
ev.dataTransfer.setData("data", blockOrField);
当我在另一个地方获取数据时:
cosnt data = e.dataTransfer.getData("data");
我得到data 为[object Object] 而不是真实实例。
在传递给数据之前,我看到它是实例:
if (blockOrField instanceof FieldDefinition) {
alert("works");
}
ev.dataTransfer.setData("data", blockOrField);
我知道它应该被序列化为字符串 JSON,但我有复杂的组合实例。
【问题讨论】:
-
setData的功能是否与localStorage相同?如果是这样,您可能希望在设置数据时JSON.stringify。 -
不,我不需要序列化,我需要将它作为实例类传递
-
它将实例转换为字符串:
console.log(typeof e.dataTransfer.getData("data")); -
这个QA可能是相关的...stackoverflow.com/questions/15839649/…
-
我知道,但你知道实例类和普通对象的区别
标签: javascript