vis.js官方文档:https://visjs.org/
vis-network中文文档:https://ame.cool/pages/a7d858/

1. 环境准备

前提:电脑已安装配置npm和node.js

在vue项目中安装vis的命令:

npm install vis --save-dev

如果当前vue项目没有安装sass:

npm install sass-loader --save-dev
npm install node-sass --save-dev

在build文件夹下的webpack.base.conf.js的rules里面添加配置

{test: /\.scss$/,loaders: ['style', 'css', 'sass']
}

然后在style标签里面加入lang=“scss”即可
2. 示例代码
(1)在组件中引入vis

import { DataSet, Network } from 'vis'

(2)定义dom

<template><div id="view_content"></div>
</template>

(3)容器渲染

<script>import { DataSet, Network } from 'vis'export default {name: 'Demo',data() {return {}},created() {},mounted() {this.init()},methods: {init() {// // create an array with nodesvar nodes = new 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' },])// // create an array with edgesvar edges = new DataSet([{ from: 1, to: 3 },{ from: 1, to: 2 },{ from: 2, to: 4 },{ from: 2, to: 5 },])// create a networkvar container = document.querySelector('#view_content')// provide the data in the vis formatvar data = {nodes: nodes,edges: edges,}var options = {//节点样式nodes: {shape: 'box', //设置节点node样式为矩形fixed: false, //节点node固定可移动font: {color: 'red', //字体的颜色size: 20, //显示字体大小},scaling: {min: 16,max: 32, //缩放效果比例},},//连接线的样式edges: {color: {color: 'rgb(97, 168, 224)',highlight: 'rgb(97, 168, 224)',hover: 'green',inherit: 'from',opacity: 1.0,},font: {align: 'top', //连接线文字位置},smooth: true, //是否显示方向箭头arrows: { to: true }, //箭头指向from节点// physics:false},layout: {//以分层方式定位节点hierarchical: {direction: 'LR', //分层排序方向sortMethod: 'directed', //分层排序方法levelSeparation: 400, //不同级别之间的距离},},interaction: {navigationButtons: true,// hover: true, //鼠标移过后加粗该节点和连接线selectConnectedEdges: false, //选择节点后是否显示连接线},}// initialize your network!this.network = new Network(container, data, options)// this.network.on('click', (e) => this.showDetail(e)) //单击事件// this.network.on('doubleClick', (e) => this.enterService(e)) //双击事件//生成图后才生成canvas元素,此处设置画布大小// let element = document.getElementsByTagName('canvas')[0]// element.height = '600'},},}
</script>

(4)自定义样式

<style lang="scss" scoped>.view_content {width: 800px;height: 600px;.vis-network {height: 500px;}}
</style>

3.效果展示

vue集成vis-network实现拓扑图相关推荐

  1. vue使用Vis.Network制作图谱

    //首先要加载VIS npm install vis --save//在main.js中引入配置项 import "vis/dist/vis.css"//在使用的页面引入该组件 i ...

  2. Vue使用vis实现拓扑图

    visjs官方文档 visjs示例 1. 安装 npm install vis 2. 封装成组件 <template><div :id="id" style=&q ...

  3. Vue.js中使用vis network出现的点和线更新问题

    发现问题有一段时间,中文网一直没搜到结果,最终还是在github的已关闭issue里翻出了历史答案,简单翻译其中回答的部分内容,记录如下. 1.环境 前端工程vue.js,版本2.6.11. vis- ...

  4. vue 拓扑组件_Vue 集成 vis-network 实现网络拓扑图的方法_心病_前端开发者

    vis. https://visjs.org/ vs  code 下安装命令 npm install vis-network 在 const vis = require("vis-netwo ...

  5. vis network(visjs)安装简单使用

    vis.js可视化的出发点之一是它们可以处理动态数据,并允许对数据进行操作.为了实现这一点,vis.js包括一个基于灵活键/值 DataSet并DataView处理非结构化JSON数据的功能. 数据集 ...

  6. Electron中与Vue集成流程

    场景 用HTML和CSS和JS构建跨平台桌面应用程序的开源库Electron的介绍以及搭建HelloWorld: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/a ...

  7. Node.js、Npm、MVVM模式、idea的vue集成

    Node.js 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台. Node.js是一个事件驱动 ...

  8. vue 是否有word编辑控件_GitHub - C84882428/editor-ui: vue集成 tinymce 富文本编辑器,增加导入 word 模板...

    editor-ui vue 集成 tinymce 富文本编辑器 自定义 tinymce 富文本编辑器, 在原来的编辑器中增加上传 word 模板 最终展示效果: 主要代码: 整体思路: 1,在编辑器原 ...

  9. 利用官方的vue-cli脚手架来搭建Vue集成开发环境

    在利用vue-cli脚手架搭建vue集成环境之前,我们需要先安装nodejs的环境.如果在cmd中输入node --version和npm --version出现如下的版本信息,就说明安装已经成功了. ...

  10. 如何使用Vue集成其它UI组件?如何阅读UI官网?移动端组件Vant实例教程(熬夜干货)

    如何使用Vue集成其它UI组件 前言 一.Vant是什么? 二.基础环境准备 1.1 了解是根本 1.2 安装 1.3 引入组件 3.1 步骤一 3.2 步骤二 3.3 步骤三 二.事件绑定 2.1 ...

最新文章

  1. CF939E:Maximize! ——题解
  2. 使用 git.oschina 码云 来托管 Hexo 搭建的博客
  3. C# 并行任务——Parallel类
  4. Entity Framework 实体关系总结:one-to-one, one-to-many, many-to-many
  5. 计算机成绩表用函数怎么做,题用Excel函数以计算机成绩为依据计算出等次,怎么用函数IF 设定三个分类,如》90 为优秀 79~89为良好其余合格...
  6. 非索引查询如何提高效率_Python数据分析:数据库索引如何提高效率?
  7. MyCat-Web安装
  8. 2016年10月计算机网络技术,2016年10月自考《计算机网络技术》练习题及答案1
  9. wechat server的配置
  10. CodeForces 257B Playing Cubes :两人轮流向已有序列后面放红蓝木块,一人想使相邻颜色相同多一人想不想同颜色多,最后得分? :博弈+思维...
  11. 位于地下88米,一晚6000块,上海这家酒店房间内竟还有玄机!
  12. Centos5.8升级SSH到5.8p2
  13. Python123 英文字符的鲁棒输入
  14. [CSDN] 微软雅黑可能导致的博客侵权问题
  15. python设置单元格宽度_【部分解决】openpyxl的excel设置列宽自适应+设置行高
  16. 7.arm汇编 bic和orr指令
  17. 《麻省理工学院公开课:人工智能》笔记三
  18. 5V单端差分信号编码器转脉冲24V电平集电极开路变送器
  19. 如何用 Python 提取韦小宝身份证信息
  20. word- 图片显示不全/错位

热门文章

  1. 介绍Jackson JsonNode和ObjectNode
  2. 我的 Python 主机空间
  3. 从入门到精通,Java学习路线导航(附学习资源)
  4. 头条原创文章一键转换剪映生成视频
  5. eclipse 项目报错 但没有提示哪里出错
  6. 企业邮箱哪家好?安全稳定的企业邮箱有哪些?
  7. 鸿蒙石之鉴流程,鸿蒙石之鉴完全攻略!
  8. mysql within 函数_SQL基础----(四)复杂的子查询(select within select)
  9. 基于SSM的在线教育系统的设计与实现【附源码】
  10. Liunx(2) 发送邮件通知