向 konvajs 组对象添加新属性
Adding new attribute to a konvajs group object
如何向现有 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" 未定义!那么我怎样才能将它添加到组对象中并能够正确检索它呢?
evt.target
是对您 dbclick 的形状的引用。
要获取对 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
作为参考。
如何向现有 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" 未定义!那么我怎样才能将它添加到组对象中并能够正确检索它呢?
evt.target
是对您 dbclick 的形状的引用。
要获取对 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
作为参考。