Vis.js:如何在不使用闭包的情况下访问addNode助手中的网络?

时间:2017-10-24 22:27:38

标签: javascript vis.js vis.js-network

联合国like event handlers in vis.jsmanipulation助手(addNode等)未提供对network或其DOM容器本身的引用。如果addNodenetwork本身应该在不同的范围内定义,那么有没有办法访问其中任何一个,以便不能使用闭包?

上下文。我正在使用vis.js在TiddlyWiki Classic中实现一个简单的图形编辑器。奇怪的是,一次可以显示多个网络并生成它们的ID,这样它们就不会发生冲突,用户也不必手动设置。另一方面,希望允许用户设置任意操作处理程序,并且通常需要使用“未知”=随机ID获取网络容器(它可以从网络本身获得为network.body.container,但是我没有得到network内的addNode

PS我想知道如何修补vis.js本身,因为this内的addNode等于manipulation的{​​{1}}属性,这似乎完全没用。在ManipulationSystem.js中调用options,应该使用this.options.addNode来代替

call

(第1156行)应为

    this.options.addNode(defaultData, (finalizedData) => {

PPS在考虑发出分叉/拉取请求时,我发现很明显将这个上下文添加到 this.options.addNode.call(this, defaultData, (finalizedData) => { (第1156行),addNode(第1186行),{{1 (1220)但不是addEdge。它在哪里?

0 个答案:

没有答案