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(调研阶段有更多的坑,我下一篇文章写)

  

 

  

posted @   FannieGirl  阅读(4350)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
历史上的今天:
2017-02-21 [css 实践篇] 解决悬浮的<header> <footer>遮挡内容的处理技巧
点击右上角即可分享
微信分享提示