vue JointJS 实例demo
前言
越来越发现,前端深入好难哦!虐成渣渣了。
需求:前端绘制灵活的关系图(此demo还是简单的,我的需求才跨出一小步)
安装
npm install jointjs
容器,工具栏
<template>
<div id="toolbar">
<button class="btn add-question" :click='addNode'>Add Node</button>
<button class="btn add-answer">Add Answer</button>
<button class="btn preview-dialog">Preview Dialog</button>
<button class="btn code-snippet">Code Snippet</button>
<button class="btn clear">Clear Canvas</button>
<button class="btn load-example">Load Example</button>
</div>
<div id="myholder" @click="click_joint"></div>
</template>
<script>
require('../assets/css/toolbar.css')
import ParamidaPay from "../paramidaPay.js"
import joint from 'jointjs'
import $ from 'jquery' export default {
name: 'App',
data: function () {
return {
active: true
}
},
mounted: function () {
this.inti()
},
methods: {
inti(){
// 先创建joint graph 对象
var graph = new joint.dia.Graph(); //设定容器基本信息
var paper = new joint.dia.Paper({
el: document.getElementById('myholder'),
width: 900,
height: 700,
model: graph,
});
let rect = new joint.shapes.basic.Rect({
position: { x: 100, y: 30 },
size: { width: 100, height: 30 },
attrs: {
rect: { fill: 'rgb(75, 74, 103)' }, text: { text: 'node', fill: 'white' }
}
})
let rect2 = rect.clone(); let rect3 = rect.clone();
rect2.translate(300);
rect3.translate(600); let link = new joint.dia.Link({
source: { id: rect.id },
target: { id: rect2.id }
}) graph.addCells([rect, rect2, rect3,link]);
}
},
addNode(){ }
}
</script>
<style>
#myholder{
width: 900px;
height: 700px;
margin: 0 auto;
margin-top: 25px;
border: 1px solid #d3d3d3;
}
</style>
运行效果

Fannie式总结
是不是有点好看
话不多说,我其实是为了保存代码,最小单元
然后我要接着做下去了
好了,emmmm(调研阶段有更多的坑,我下一篇文章写)
vue JointJS 实例demo的更多相关文章
- Vue UI组件 开发框架 服务端 辅助工具 应用实例 Demo示例
Vue UI组件 开发框架 服务端 辅助工具 应用实例 Demo示例 element ★11612 - 饿了么出品的Vue2的web UI工具套件 Vux ★7503 - 基于Vue和WeUI的组件库 ...
- Vue.js实例练习
最近学习Vue.js感觉跟不上节奏了,Vue.js用起来很方便. 主要实现功能,能添加书的内容和删除.(用的Bootstrap的样式)demo链接 标题用了自定义组件,代码如下: components ...
- 前端MVC Vue2学习总结(二)——Vue的实例、生命周期与Vue脚手架(vue-cli)
一.Vue的实例 1.1.创建一个 Vue 的实例 每个 Vue 应用都是通过 Vue 函数创建一个新的 Vue 实例开始的: var vm = new Vue({ // 选项 }) 虽然没有完全遵循 ...
- vue的实例
vue的实例 创建一个vue实例的写法和创建一个变量一样 var vm = new Vue{{ //我们一般用vm来接收vue的实例,vm是 ViewModel的缩写 }} 然后,我们就可以给vue实 ...
- ArcGIS API for JavaScript开发环境搭建及第一个实例demo
原文:ArcGIS API for JavaScript开发环境搭建及第一个实例demo ESRI公司截止到目前已经发布了最新的ArcGIS Server for JavaScript API v3. ...
- Android ListFragment实例Demo(自己定义适配器)
上一篇文章介绍了ListFragment,当中的ListView并没有自己定义适配器,实际上在实际开发中常会用到自己定义适配器,是实现更复杂的列表数据展示. 所以这篇文章添加了自己定义适配器.来进行L ...
- 3 weekend110的hadoop中的RPC框架实现机制 + hadoop中的RPC应用实例demo
hadoop中的RPC框架实现机制 RPC是Remotr Process Call, 进程间的远程过程调用,不是在一个jvm里. 即,Controller拿不到Service的实例对象. hadoop ...
- Vue组件实例间的直接访问
前面的话 有时候需要父组件访问子组件,子组件访问父组件,或者是子组件访问根组件. 在组件实例中,Vue提供了相应的属性,包括$parent.$children.$refs和$root,这些属性都挂载在 ...
- vue.js实例对象+组件树
vue的实例对象 首先用js的new关键字实例化一个vue el: vue组件或对象装载在页面的位置,可通过id或class或标签名 template: 装载的内容.HTML代码/包含指令或者其他组件 ...
随机推荐
- python selenium爬取自如租房数据保存到TXT文件
# -*- coding: utf-8 -*-"""Created on Fri Aug 31 2018 @author: chenlinlab"" ...
- 在命令行中创建Django项目
1.终端先进入你要放项目的目录. 在命令行输入:django-admin startproject 项目名 .回车,此时创建了一个项目. 例:django-admin startproject my ...
- Linux每日小技巧---ss命令
ss命令 ss是Socket Statistics的缩写.顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连 ...
- 【转】为什么Github没有记录你的Contributions
【转】为什么Github没有记录你的Contributions 字数985 阅读0 评论0 喜欢0 记录下为什么github 提交的时候,没有记录到 github 的那个日历上。 Paste_Imag ...
- 一道经典面试题-----setTimeout(function(){},0)
一道经典面试题-----setTimeout(function(){},0) 转载: http://www.w3cfuns.com/notes/17398/e8a1ce8f863e8b5abb5300 ...
- PyQt5--QFileDiaglog
# -*- coding:utf-8 -*- ''' Created on Sep 17, 2018 @author: SaShuangYiBing Comment: ''' import sys f ...
- canvas实例_时钟
效果图:是一个会动的时钟 一.时钟的组成 1.表盘(蓝色) 2.刻度(黑色) 3.时针(黑色) 4.分针(黑色) 5.秒针(红色)需美化 二.主要应用的技术 Canvas画线 Canv ...
- 包(package),继承
1.包(package) 1)为何用包 包用于管理程序中的类,主要解决类同名问题(它的唯一性),也可以看作是现实生活中的目录. 2)作用 —可以解决包的同名问题. —可以更好地管理类,有了包的概念,使 ...
- OpenCV——模板匹配
minMaxLoc函数: void minMaxLoc( const Mat& src, double* minVal, double* maxVal=0, Point* minLoc=0, ...
- JAVA框架 Mybaits 动态sql
动态sql 一:if标签使用: 我们在查询的时候,有时候由于查询的条件的不确定性,导致where的后面的条件的不同,这时候就需要我们进行where后面的条件进行拼接. Mapper配置文件: < ...