gpt4 book ai didi

javascript - jointjs 中 joint.uml.shapes.State 元素的更新事件

转载 作者:行者123 更新时间:2023-11-30 17:42:30 25 4
gpt4 key购买 nike

大家圣诞快乐!

在某些事件被触发后,我必须更新由 JointJS 库引入的 joint.shapes.uml.State 元素的事件。我使用 set('events', events) 函数。我将元素打印到控制台,发现元素的事件已经更新。但是图表上显示的事件没有改变。可以在以下位置访问示例代码:

http://jsfiddle.net/GJH_ICT/6pmbQ/5/ .

您可以拖动链接的末尾来触发事件。这是更新函数:

function resetEvents(id, old, newer) {
var events = graph.getCell(id).get('events');
for(var i = 0; i < events.length; ++i) {
events[i] = events[i].replace(old, newer);
}
graph.getCell(id).set('events', events);
console.log(graph.getCell(id).get('events'));
}

此外,我注意到 joint.shapes.uml.State 元素中的 updateEvents() 函数,并尝试了该函数,但它不能正常工作。这个函数有什么作用?

谢谢!

最佳答案

这是因为您正在原地更改 events 数组。当您稍后调用 .set() 时,set() 的内部机制认为它是完全相同的对象 - 引用是相同的 - 换句话说,传递的对象和先前存储的对象之间的 === 运算符返回 true

关于javascript - jointjs 中 joint.uml.shapes.State 元素的更新事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20771800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com