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

  

  

原文地址:https://www.cnblogs.com/ifannie/p/10411380.html

时间: 2024-10-10 17:24:20

vue JointJS 实例demo的相关文章

Android之SlideMenu实例Demo

年末加班基本上一周都没什么时候回家写代码,回到家就想睡觉,周末难得有时间写个博客,上次写了一篇关于SlideMenu开源项目的导入问题,这次主要讲讲使用的问题,SlideMenu应用的广泛程度就不用说了,基本上是App的标配,关于SlideMenu的各种使用方法有很多,网上各种Demo也很多,想来想去还是按照自己本身的实战方式去写写吧,走过的坑希望大家基本上不会遇到,开始正题: 基础布局 写布局文件之前先看下最终的效果图,昨天红色就是滑动出现的区域,右边的图片由左边的事件触发: activity

Android ExpandableListView实例Demo

前几篇文章介绍了Listview,但在实际开发中也经常会用到多层的Listview来展示数据,比如qq中的好友展示,所以这张来了解一下ExpandableListview,基本思想与Listview大致是相同的,所以用起来会比较方便. 实现效果图: 程序代码: 布局文件: activity_main.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools

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

上一篇文章介绍了ListFragment,其中的ListView并没有自定义适配器,实际上在实际开发中常会用到自定义适配器,是实现更复杂的列表数据展示.所以这篇文章增加了自定义适配器,来进行ListView数据的展示. 实现效果图: 左边是Activity中的一个按钮,点击按钮会出现右边的Fragment相应的数据列表. 代码展示: 布局文件: activity_main: <LinearLayout xmlns:android="http://schemas.android.com/ap

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

原文:ArcGIS API for JavaScript开发环境搭建及第一个实例demo ESRI公司截止到目前已经发布了最新的ArcGIS Server for JavaScript API v3.9,它提供了更为丰富而又强大的功能.     一.安装前准备 1.ArcGIS Server for JavaScript API各版本下载地址:http://support.esrichina-bj.cn/2011/0223/960.html,我们选择下载最新的"ArcGIS API for Ja

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

hadoop中的RPC框架实现机制 RPC是Remotr Process Call, 进程间的远程过程调用,不是在一个jvm里. 即,Controller拿不到Service的实例对象. hadoop中的RPC应用实例demo 在windows是调用端,在linux里是服务端. 在这里,需要LoginServiceinterface.java 停止 出错误了,很明显. 这是个很好的思考题?

Android ListFragment实例Demo

该篇文章是一个ListFragment的一个实例,通过了解该实例,更能了解比较常用的ListFragment的用法,以及各Fragment之间的数据传递. 实现效果图: 该MainActivity中包括1个Button+2个Fragment(右边两个),点击Button,出现中间的list列表,点击列表中的任一项,相应item数值,会传递到右边的Fragment中并显示. 源代码: activity_main: <LinearLayout xmlns:android="http://sch

OSGI实例demo说明(二)

下面我们就来真正的写一个实例demo,结合OSGI的优点来说明一下,该demo设计如下图: 这个demo包含五个Bundles: SayHello Bundle 包含一个接口,只有唯一的方法sayHello(): BobSays.RodSays.KentSays三个Bundles分别实现了三个具体的sayHello(): SayHelloServiceBundle提供了说hello的机会,是具体的一个服务应用,在功能上有点类似于main函数的味道. 这个HelloWorlddemo 的目的不但可

Android微信分享功能实例+demo

Android微信分享功能实例 1 微信开放平台注册 2 获得appId,添加到程序中,并运行程序 3 使用应用签名apk生成签名,添加到微信开放平台应用签名,完成注册 4 测试分享功能. 有问题请留言  o(∩_∩)o 哈哈 代码如下: package com.wx; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import a

java JFreechart开发报表的实例demo下载

原文:java JFreechart开发报表的实例demo下载 源代码下载地址:http://www.zuidaima.com/share/1550463472110592.htm 运行效果图如下: 代码截图: