vue集成vis-network实现拓扑图
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实现拓扑图相关推荐
- vue使用Vis.Network制作图谱
//首先要加载VIS npm install vis --save//在main.js中引入配置项 import "vis/dist/vis.css"//在使用的页面引入该组件 i ...
- Vue使用vis实现拓扑图
visjs官方文档 visjs示例 1. 安装 npm install vis 2. 封装成组件 <template><div :id="id" style=&q ...
- Vue.js中使用vis network出现的点和线更新问题
发现问题有一段时间,中文网一直没搜到结果,最终还是在github的已关闭issue里翻出了历史答案,简单翻译其中回答的部分内容,记录如下. 1.环境 前端工程vue.js,版本2.6.11. vis- ...
- vue 拓扑组件_Vue 集成 vis-network 实现网络拓扑图的方法_心病_前端开发者
vis. https://visjs.org/ vs code 下安装命令 npm install vis-network 在 const vis = require("vis-netwo ...
- vis network(visjs)安装简单使用
vis.js可视化的出发点之一是它们可以处理动态数据,并允许对数据进行操作.为了实现这一点,vis.js包括一个基于灵活键/值 DataSet并DataView处理非结构化JSON数据的功能. 数据集 ...
- Electron中与Vue集成流程
场景 用HTML和CSS和JS构建跨平台桌面应用程序的开源库Electron的介绍以及搭建HelloWorld: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/a ...
- Node.js、Npm、MVVM模式、idea的vue集成
Node.js 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台. Node.js是一个事件驱动 ...
- vue 是否有word编辑控件_GitHub - C84882428/editor-ui: vue集成 tinymce 富文本编辑器,增加导入 word 模板...
editor-ui vue 集成 tinymce 富文本编辑器 自定义 tinymce 富文本编辑器, 在原来的编辑器中增加上传 word 模板 最终展示效果: 主要代码: 整体思路: 1,在编辑器原 ...
- 利用官方的vue-cli脚手架来搭建Vue集成开发环境
在利用vue-cli脚手架搭建vue集成环境之前,我们需要先安装nodejs的环境.如果在cmd中输入node --version和npm --version出现如下的版本信息,就说明安装已经成功了. ...
- 如何使用Vue集成其它UI组件?如何阅读UI官网?移动端组件Vant实例教程(熬夜干货)
如何使用Vue集成其它UI组件 前言 一.Vant是什么? 二.基础环境准备 1.1 了解是根本 1.2 安装 1.3 引入组件 3.1 步骤一 3.2 步骤二 3.3 步骤三 二.事件绑定 2.1 ...
最新文章
- CF939E:Maximize! ——题解
- 使用 git.oschina 码云 来托管 Hexo 搭建的博客
- C# 并行任务——Parallel类
- Entity Framework 实体关系总结:one-to-one, one-to-many, many-to-many
- 计算机成绩表用函数怎么做,题用Excel函数以计算机成绩为依据计算出等次,怎么用函数IF 设定三个分类,如》90 为优秀 79~89为良好其余合格...
- 非索引查询如何提高效率_Python数据分析:数据库索引如何提高效率?
- MyCat-Web安装
- 2016年10月计算机网络技术,2016年10月自考《计算机网络技术》练习题及答案1
- wechat server的配置
- CodeForces 257B Playing Cubes :两人轮流向已有序列后面放红蓝木块,一人想使相邻颜色相同多一人想不想同颜色多,最后得分? :博弈+思维...
- 位于地下88米,一晚6000块,上海这家酒店房间内竟还有玄机!
- Centos5.8升级SSH到5.8p2
- Python123 英文字符的鲁棒输入
- [CSDN] 微软雅黑可能导致的博客侵权问题
- python设置单元格宽度_【部分解决】openpyxl的excel设置列宽自适应+设置行高
- 7.arm汇编 bic和orr指令
- 《麻省理工学院公开课:人工智能》笔记三
- 5V单端差分信号编码器转脉冲24V电平集电极开路变送器
- 如何用 Python 提取韦小宝身份证信息
- word- 图片显示不全/错位