2

我有一个 Konva 层,上面有一些生物 Image 对象。我想在这些对象上存储自定义数据值(hp 和时间),因此当我序列化容器时,这些数据值将出现在 json 中。我怎样才能做到这一点?

var creature = new Konva.Image({
image: images[creat.id],
x: creat.x,
y: creat.y,
draggable: true,
id:creat.id,
url:creat.url,

hp:creat.hp,
时间:creat.time

});
4

1 回答 1

2

所有普通属性(对象、数组、数字、字符串)都将被序列化为 JSON。

您可以在构造函数中添加自定义属性:

const node = new Konva.Image({
  url:creat.url,
  time: creat.time
})

或者你可以使用setAttr函数:

node.setAttr('time', someValue);

要读取值,您可以这样做:

const time = node.getAttr('time');

只需确保您的自定义属性名称不与 build-it 属性重叠。

于 2020-04-03T17:49:43.290 回答