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(调研阶段有更多的坑,我下一篇文章写)
FannieGirl原创文章,想了解更多前端内容,关注我的博客园
https://www.cnblogs.com/ifannie/
转载务必声明出处哦~~~~更多操作,扣我
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 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>遮挡内容的处理技巧