Могу ли я сохранить пользовательские значения данных в объекте Konva.Image ()? - PullRequest
1 голос
/ 02 апреля 2020

У меня есть слой Konva с несколькими объектами изображений существ на нем. Я хотел бы хранить пользовательские значения данных (hp и time) на этих объектах, чтобы при сериализации контейнера эти значения данных отображались в 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,
time: creat.time

});

1 Ответ

0 голосов
/ 03 апреля 2020

Все простые атрибуты (объекты, массив, числа, строки) будут сериализованы в JSON.

Вы можете просто добавить пользовательский атрибут в конструктор:

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

Или Вы можете использовать setAttr function:

node.setAttr('time', someValue);

Чтобы прочитать значение, вы можете сделать это:

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

Просто убедитесь, что имена ваших пользовательских атрибутов не пересекаются с build-it свойства.

...