当我使用vis-network.js动态添加边时,为什么图形消失了?

问题描述 投票:0回答:1

奇怪的是我在vue项目中使用vis-network.js,并且在动态添加边缘时图形消失了。

但是动态更新和删除没有。

然后,我写了一个测试页面,从https://visjs.github.io/vis-network/standalone/umd/vis-network.min.js引入了vis-network.js,然后发现这没问题!

那么从NPM下载的可见网络是否有问题?

有人可以帮我吗?

我如何使用:

npm install vis-network


import vis from 'vis-network/dist/vis-network'
Vue.prototype.$vis = vis;


var nodes = new this.$vis.DataSet([
  {id: 1, label: 'Node 1'},
  {id: 2, label: 'Node 2'},
  {id: 3, label: 'Node 3'},
  {id: 4, label: 'Node 4'},
  {id: 5, label: 'Node 5'}
]);
var edges = new this.$vis.DataSet([
  {from: 1, to: 3},
  {from: 1, to: 2},
  {from: 2, to: 4},
  {from: 2, to: 5},
  {from: 3, to: 3}
]);
var data = {
  nodes: nodes,
  edges: edges
};
var container = document.getElementById("id");
var options = {};

this.graph = new this.$vis.Network(container, data, options);
nodes.add([{id:8, label:"Node 8"}]);  // normal
edges.add([{from:1 ,to:5}]);  // Graphics disappear
javascript node.js npm vis.js vis.js-network
1个回答
0
投票

我也花了一整天的时间来解决这个确切的问题,但最后,我终于屈服于https://github.com/almende/vis/issues/2567

该问题有非常详尽的解释,但是TL; DR:vis的构建方式如果将网络放入vue组件数据中就根本行不通。

但是,它可以将边缘和节点数据集放入组件数据中,因此请保留对它们的引用,并在不将其附加到vue组件的情况下初始化网络。

© www.soinside.com 2019 - 2024. All rights reserved.