Vis.js: 如何在事件处理程序中访问网络?

Vis.js: how to access the network inside an event handler?

我想使用 vis.js 来显示和编辑图形(因此存储它的节点、边和选项)。为了实现这一点,我需要在各种事件中保存网络 (=graph) 的变化。其中一个是通过拖放重新排列。

现在,有一个 on 方法支持 dragEnd 事件,这意味着我可以做类似

的事情
network.on("dragEnd",saveToTiddlerAfterDragging);

但是what's passed to the handler这个对象是:

{
  nodes: [Array of selected nodeIds],
  edges: [Array of selected edgeIds],
  event: [Object] original _ event,
  pointer: {
    DOM: {x:pointer_x, y:pointer_y},
    canvas: {x:canvas_x, y:canvas_y}
  }
}

似乎没有对 network 本身的引用。那么如何访问呢?我想在另一个范围内定义 saveToTiddlerAfterDragging 而不是 network 本身。

好吧,在阅读文档和写问题时,我猜测 network 实际上是事件处理程序上下文中的 this。不确定它是否适用于所有事件处理程序,但适用于 dragEnd 一个。