国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue中使用mxgraph的方法實例代碼詳解

2024-05-06 15:39:22
字體:
來源:轉載
供稿:網友

1、npm 引入

npm install mxgraph --save

2、這個模塊可以使用require()方法進行加載。它將返回一個接受對象作為選項的工廠函數。必須將mxBasePath選項提供給工廠函數,而不是將其定義為一個全局變量。

var mxgraph = require("mxgraph")({ // 以下地址不需要修改mxImageBasePath: "./src/images", mxBasePath: "./src"})

工廠函數返回一個“命名空間對象”,通過它可以訪問mxGraph包的所有對象。例如,mxEvent對象在mxgraph.mxEvent中可用。

var mxEvent = mxgraph.mxEvent;mxEvent.disableContextMenu(container);

這個引入是官方提供的方式,但是與vue結合使用的時候,方法的指向會發生變化,所以做了以下修改

避免方法的指向發生變化,將其掛載到window上面:

建立index.js如下:

import mx from 'mxgraph';const mxgraph = mx({ mxImageBasePath: './src/images', mxBasePath: './src'});// decode bug https://github.com/jgraph/mxgraph/issues/49window.mxGraph = mxgraph.mxGraph;window.mxGraphModel = mxgraph.mxGraphModel;window.mxEditor = mxgraph.mxEditor;window.mxGeometry = mxgraph.mxGeometry;window.mxDefaultKeyHandler = mxgraph.mxDefaultKeyHandler;window.mxDefaultPopupMenu = mxgraph.mxDefaultPopupMenu;window.mxStylesheet = mxgraph.mxStylesheet;window.mxDefaultToolbar = mxgraph.mxDefaultToolbar;export default mxgraph;

頁面引入:

import mxgraph from 'index.js';const {mxGraph, mxClient, mxCodec, mxUtils, mxConstants, mxPerimeter} = mxgraph;

3、書寫‘hello world' demo

mounted () {      if (!mxClient.isBrowserSupported()) {        // 判斷是否支持mxgraph        mxUtils.error('Browser is not supported!', 200, false);      } else {        // 再容器中創建圖表        let container = document.getElementById('graphContainer');        let MxGraph = mxGraph;        let MxCodec = mxCodec;        var graph = new MxGraph(container);        // 生成 Hello world!        var parent = graph.getDefaultParent();        graph.getModel().beginUpdate();        try {          var v1 = graph.insertVertex(parent, null, 'Hello,', 20, 200, 80, 30);          var v2 = graph.insertVertex(parent, null, 'World', 200, 150, 80, 30);          var v3 = graph.insertVertex(parent, null, 'everyBody!', 300, 350, 60, 60);          graph.insertEdge(parent, null, '', v1, v2);          graph.insertEdge(parent, null, '', v2, v3);          graph.insertEdge(parent, null, '', v1, v3);        } finally {          // Updates the display          graph.getModel().endUpdate();        }        // 打包XML文件        let encoder = new MxCodec();        let xx = encoder.encode(graph.getModel());        // 保存到getXml參數中        this.getXml = mxUtils.getXml(xx);      }    }

總結

以上所述是小編給大家介紹的vue中使用mxgraph的方法實例代碼詳解,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 吴忠市| 张家口市| 沈丘县| 泸州市| 固阳县| 黎城县| 福海县| 嫩江县| 璧山县| 治多县| 卢氏县| 哈密市| 若尔盖县| 体育| 深泽县| 泽州县| 荃湾区| 许昌县| 织金县| 鹤峰县| 绥滨县| 运城市| 蕲春县| 固原市| 讷河市| 大城县| 新宁县| 信阳市| 班玛县| 彰化县| 关岭| 甘孜| 林周县| 乐山市| 九寨沟县| 临湘市| 洛浦县| 蚌埠市| 黑水县| 镇赉县| 峨眉山市|