cytoscape.js在vue项目中的安装及案例

1. 安装:

npm i cytoscape --save

2. 引入:main.js

import cytoscape from ‘cytoscape‘;
Vue.prototype.$cytoscape = cytoscape;

3. demo代码:

<template>
    <div id="MainCy" style="width: 100%;height: 100%;"></div>
</template>
<script>
    export default {
        mounted() {
            var cy = this.$cytoscape({
                container: document.getElementById(‘MainCy‘),

                layout: {
                    name: ‘grid‘,
                    rows: 2,
                    cols: 2
                },

                style: [{
                        selector: ‘node‘,
                        style: {
                            ‘content‘: ‘data(name)‘,
                            ‘background-color‘: ‘magenta‘,
                            ‘background-image‘: ‘url(img/shixian.png)‘,
                        }
                    },

                    {
                        selector: ‘edge‘,
                        style: {
                            ‘content‘: ‘data(relationship)‘,
                            ‘curve-style‘: ‘bezier‘,
                            ‘target-arrow-shape‘: ‘triangle‘,
                            ‘color‘: ‘red‘,
                        }
                    },

                    // some style for the extension

                    {
                        selector: ‘.eh-handle‘,
                        style: {
                            ‘background-color‘: ‘red‘,
                            ‘width‘: 12,
                            ‘height‘: 12,
                            ‘shape‘: ‘ellipse‘,
                            ‘overlay-opacity‘: 0,
                            ‘border-width‘: 12, // makes the handle easier to hit
                            ‘border-opacity‘: 0
                        }
                    },

                    {
                        selector: ‘.eh-hover‘,
                        style: {
                            ‘background-color‘: ‘red‘
                        }
                    },

                    {
                        selector: ‘.eh-source‘,
                        style: {
                            ‘border-width‘: 2,
                            ‘border-color‘: ‘red‘
                        }
                    },

                    {
                        selector: ‘.eh-target‘,
                        style: {
                            ‘border-width‘: 2,
                            ‘border-color‘: ‘red‘
                        }
                    },

                    {
                        selector: ‘.eh-preview, .eh-ghost-edge‘,
                        style: {
                            ‘background-color‘: ‘red‘,
                            ‘line-color‘: ‘red‘,
                            ‘target-arrow-color‘: ‘red‘,
                            ‘source-arrow-color‘: ‘red‘
                        }
                    },

                    {
                        selector: ‘.eh-ghost-edge.eh-preview-active‘,
                        style: {
                            ‘opacity‘: 0
                        }
                    }
                ],

                elements: {
                    nodes: [{
                            data: {
                                id: ‘j‘,
                                name: ‘Jerry‘
                            }
                        },
                        {
                            data: {
                                id: ‘e‘,
                                name: ‘Elaine‘
                            }
                        },
                        {
                            data: {
                                id: ‘k‘,
                                name: ‘Kramer‘
                            }
                        },
                        {
                            data: {
                                id: ‘g‘,
                                name: ‘George‘
                            }
                        }
                    ],
                    edges: [{
                            data: {
                                source: ‘j‘,
                                target: ‘e‘
                            }
                        },
                        {
                            data: {
                                source: ‘j‘,
                                target: ‘k‘
                            }
                        },
                        {
                            data: {
                                source: ‘j‘,
                                target: ‘g‘
                            }
                        },
                        {
                            data: {
                                source: ‘e‘,
                                target: ‘j‘
                            }
                        },
                        {
                            data: {
                                source: ‘e‘,
                                target: ‘k‘,
                                relationship: ‘1‘
                            }
                        },
                        {
                            data: {
                                source: ‘k‘,
                                target: ‘j‘,
                                relationship: ‘2‘
                            }
                        },
                        {
                            data: {
                                source: ‘k‘,
                                target: ‘e‘,
                                relationship: ‘3‘
                            }
                        },
                        {
                            data: {
                                source: ‘k‘,
                                target: ‘g‘,
                                relationship: ‘4‘
                            }
                        },
                        {
                            data: {
                                source: ‘g‘,
                                target: ‘j‘,
                                relationship: ‘5‘
                            }
                        }
                    ]
                }
            });
            cy.nodes().on(‘click‘, (evt) => {
                console.log(evt)
            });
            cy.edges().on(‘click‘, (evt) => {
                console.log(evt)
            });

        },
    }
</script>

demo效果:

原文地址:https://www.cnblogs.com/stella1024/p/10144612.html

时间: 2024-10-25 19:02:41

cytoscape.js在vue项目中的安装及案例的相关文章

d3.js在vue项目中的安装及案例

1. 首先安装 npm install d3 --save-dev或者 cnpm install d3 --save-dev (需要先安装cnpm,本人喜欢用这个国内镜像比较快) 以防万一,然后看package.json 2. 引入:main.js import * as d3 from "d3"; Vue.prototype.$d3 = d3; window.d3 = d3; //暂时设置为全局变量 3. demo代码:  demo源码参考地址 <template> &l

在vue项目中的axios使用配置记录

默认vue项目中已经安装axios,基于element-ui开发,主要记录配置的相关. axiosConfig.js import Vue from 'vue' import axios from 'axios' import qs from 'qs' import { Message, Loading } from 'element-ui' // 响应时间 axios.defaults.timeout = 5 * 1000 // 配置cookie // axios.defaults.withC

前端框架Vue.js——vue-i18n ,vue项目中如何实现国际化

每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code 一.前言 趁着10月的最后一天,来写一篇关于前端国际化的实践型博客.国际化应该都不陌生,就是一个网站.应用可以实现语言的切换. 在这就不谈原理,只说说如何实现中英文的切换.做技术的总得先把 demo 做出来嘛. 二.demo 场景需求分析 需求很简单,左上角 ''网易云音乐''就是一个中英文切换的按钮,点击弹出提示框,确认切换语言后,实现英文版本. 切换成英文版本: 三.实现国际化

在vue项目中使用canvas-nest.js,报parameter 1 is not of type &#39;Element&#39;

canvas-nest.js是一款轻量的网页特效,如图: github地址:https://github.com/hustcc/canvas-nest.js 在普通的html项目中,只要将<script src="dist/canvas-nest.js"></script>插入到body标签最下边即可. 在vue项目中,使用时配置 1 import CanvasNest from 'canvas-nest.js'; 2 3 const config = { //

Vue 项目中使用 jsPlumb

jsPlumb 介绍 jsPlumb 是一个强大的 JavaScript 连线库,它可以将 html中 的元素用箭头.曲线.直线等连接起来,适用于开发 Web 上的图表.建模工具.流程图.关系图等. jsPlumb 参考网站 博客园:http://www.cnblogs.com/leomYili/p/6346526.html?utm_source=itdadao&utm_medium=referral 官网:https://www.jsplumbtoolkit.com/ 安装 jsPlumb v

如何在Vue项目中使用vw实现移动端适配

https://www.w3cplus.com/mobile/vw-layout-in-vue.html  原文网址 如何在Vue项目中使用vw实现移动端适配 作者:大漠 日期:2018-01-25 点击:10362 vw Layout 布局 Vue mobile 编辑推荐:使用 Coding.net 搭建静态博客,自定义域名,全站 HTTPS 加密,自动实时部署, 立即托管您的网站! 有关于移动端的适配布局一直以来都是众说纷纭,对应的解决方案也是有很多种.在<使用Flexible实现手淘H5页

转:如何在Vue项目中使用vw实现移动端适配

https://www.w3cplus.com/mobile/vw-layout-in-vue.html 有关于移动端的适配布局一直以来都是众说纷纭,对应的解决方案也是有很多种.在<使用Flexible实现手淘H5页面的终端适配>提出了Flexible的布局方案,随着viewport单位越来越受到众多浏览器的支持,因此在<再聊移动端页面的适配>一文中提出了vw来做移动端的适配问题.到目前为止不管是哪一种方案,都还存在一定的缺陷.言外之意,还没有哪一个方案是完美的. 事实上真的不完美

Vue项目中遇到的一些问题总结

一.开发环境使用Ajax请求,报错 网上查的资料,在config中的index.js这样设置 proxyTable:{ '/api':{ target:'', //此处为你的API接口地址 changeOrigin:true, pathRewrite:{ '^/api':'' //这里理解为用api代替target中的地址 } } } 配置完后,请求依然报错,大致是https证书的问题 [HPM] Error occured while trying to proxy request /xxx/

如何在Vue项目中使用Typescript

0.前言 本快速入门指南将会教你如何在Vue项目中使用TypeScript进行开发.本指南非常灵活,它可以将TypeScript集成到现有的Vue项目中任何一个阶段. 1.初始化项目 首先,创建一个新的项目目录. mkdir typescript-vue-tutorial cd typescript-vue-tutorial 接着,在目录中创建如下目录结构. typescript-vue-tutorial/ ├─ dist/ └─ src/ └─ components/ TypeScript文件