Konva.js 中是否有任何方法可以对形状属性的任何变化做出反应?

Is there any method in the Konva.js that reacts to any changes in the shape's attributes?

在文档中,我找到了监听器'dragmove''transform'等。 是否有某种用于更新任何属性的通用侦听器属性?

没有。在当前版本中,konva@8.3.1 没有针对所有更改的一个事件。

只有三种方法可以更改属性:

  1. 以编程方式使用属性 setters
  2. 拖拽
  3. 转型

对于#2 和#3,您可以使用 dragmovetransform 事件。

对于第一种情况,是你的代码,所以你知道属性被改变了。您可以在 setter 函数后调用任何自定义代码。

此外,每个属性都有更改事件:xChangeyChangefillChange 等。如果您知道预期更改的列表,则可以使用这些事件。

shape.on('scaleXChange strokeChange', () => {
  console.log('something changed');
});