前言

  越来越发现,前端深入好难哦!虐成渣渣了。

  需求:前端绘制灵活的关系图(此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的更多相关文章

  1. Vue UI组件 开发框架 服务端 辅助工具 应用实例 Demo示例

    Vue UI组件 开发框架 服务端 辅助工具 应用实例 Demo示例 element ★11612 - 饿了么出品的Vue2的web UI工具套件 Vux ★7503 - 基于Vue和WeUI的组件库 ...

  2. Vue.js实例练习

    最近学习Vue.js感觉跟不上节奏了,Vue.js用起来很方便. 主要实现功能,能添加书的内容和删除.(用的Bootstrap的样式)demo链接 标题用了自定义组件,代码如下: components ...

  3. 前端MVC Vue2学习总结(二)——Vue的实例、生命周期与Vue脚手架(vue-cli)

    一.Vue的实例 1.1.创建一个 Vue 的实例 每个 Vue 应用都是通过 Vue 函数创建一个新的 Vue 实例开始的: var vm = new Vue({ // 选项 }) 虽然没有完全遵循 ...

  4. vue的实例

    vue的实例 创建一个vue实例的写法和创建一个变量一样 var vm = new Vue{{ //我们一般用vm来接收vue的实例,vm是 ViewModel的缩写 }} 然后,我们就可以给vue实 ...

  5. ArcGIS API for JavaScript开发环境搭建及第一个实例demo

    原文:ArcGIS API for JavaScript开发环境搭建及第一个实例demo ESRI公司截止到目前已经发布了最新的ArcGIS Server for JavaScript API v3. ...

  6. Android ListFragment实例Demo(自己定义适配器)

    上一篇文章介绍了ListFragment,当中的ListView并没有自己定义适配器,实际上在实际开发中常会用到自己定义适配器,是实现更复杂的列表数据展示. 所以这篇文章添加了自己定义适配器.来进行L ...

  7. 3 weekend110的hadoop中的RPC框架实现机制 + hadoop中的RPC应用实例demo

    hadoop中的RPC框架实现机制 RPC是Remotr Process Call, 进程间的远程过程调用,不是在一个jvm里. 即,Controller拿不到Service的实例对象. hadoop ...

  8. Vue组件实例间的直接访问

    前面的话 有时候需要父组件访问子组件,子组件访问父组件,或者是子组件访问根组件. 在组件实例中,Vue提供了相应的属性,包括$parent.$children.$refs和$root,这些属性都挂载在 ...

  9. vue.js实例对象+组件树

    vue的实例对象 首先用js的new关键字实例化一个vue el: vue组件或对象装载在页面的位置,可通过id或class或标签名 template: 装载的内容.HTML代码/包含指令或者其他组件 ...

随机推荐

  1. python selenium爬取自如租房数据保存到TXT文件

    # -*- coding: utf-8 -*-"""Created on Fri Aug 31  2018 @author: chenlinlab"" ...

  2. 在命令行中创建Django项目

    1.终端先进入你要放项目的目录. 在命令行输入:django-admin startproject 项目名  .回车,此时创建了一个项目. 例:django-admin startproject my ...

  3. Linux每日小技巧---ss命令

    ss命令 ss是Socket Statistics的缩写.顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连 ...

  4. 【转】为什么Github没有记录你的Contributions

    【转】为什么Github没有记录你的Contributions 字数985 阅读0 评论0 喜欢0 记录下为什么github 提交的时候,没有记录到 github 的那个日历上。 Paste_Imag ...

  5. 一道经典面试题-----setTimeout(function(){},0)

    一道经典面试题-----setTimeout(function(){},0) 转载: http://www.w3cfuns.com/notes/17398/e8a1ce8f863e8b5abb5300 ...

  6. PyQt5--QFileDiaglog

    # -*- coding:utf-8 -*- ''' Created on Sep 17, 2018 @author: SaShuangYiBing Comment: ''' import sys f ...

  7. canvas实例_时钟

    效果图:是一个会动的时钟 一.时钟的组成 1.表盘(蓝色)  2.刻度(黑色)  3.时针(黑色)  4.分针(黑色)  5.秒针(红色)需美化     二.主要应用的技术 Canvas画线 Canv ...

  8. 包(package),继承

    1.包(package) 1)为何用包 包用于管理程序中的类,主要解决类同名问题(它的唯一性),也可以看作是现实生活中的目录. 2)作用 —可以解决包的同名问题. —可以更好地管理类,有了包的概念,使 ...

  9. OpenCV——模板匹配

    minMaxLoc函数: void minMaxLoc( const Mat& src, double* minVal, double* maxVal=0, Point* minLoc=0, ...

  10. JAVA框架 Mybaits 动态sql

    动态sql 一:if标签使用: 我们在查询的时候,有时候由于查询的条件的不确定性,导致where的后面的条件的不同,这时候就需要我们进行where后面的条件进行拼接. Mapper配置文件: < ...