向konvajs组对象添加新属性

Adding new attribute to a konvajs group object

本文关键字:属性 新属性 添加 konvajs 对象      更新时间:2023-09-26

如何向现有Konva.Group()对象添加新属性?

例如:

var myRoom = {
  title: "living room",
  group: new Konva.Group({
    x: 0,
    y: 0,
    draggable: true
  })
};
myRoom.group.setAttr("obj", myRoom);
myRoom.group.on('dblclick', function(evt) {
  console.log('room obj', evt.target.getAttr("obj"));
});

属性"obj"`undefined!那么,我如何将它添加到组对象中并能够正确检索它呢?

evt.target是对数据库单击的形状的引用。

要获得对Group实例的引用,您可以使用this:

myRoom.group.on('dblclick', function(evt) {
  console.log(evt.target);  // circle
  console.log(this);   // group
  console.log('room obj', this.getAttr("obj"));
});

演示:https://jsfiddle.net/qsyw4bqm/

注意:在新版Konva(0.11.0)中,您可以使用evt.currentTarget作为参考。