這篇文章主要介紹了vue中怎么使用mxgraph的方法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Vue是一套用于構建用戶界面的漸進式JavaScript框架,Vue與其它大型框架的區(qū)別是,使用Vue可以自底向上逐層應用,其核心庫只關注視圖層,方便與第三方庫和項目整合,且使用Vue可以采用單文件組件和Vue生態(tài)系統(tǒng)支持的庫開發(fā)復雜的單頁應用。
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結合使用的時候,方法的指向會發(fā)生變化,所以做了以下修改
避免方法的指向發(fā)生變化,將其掛載到window上面:
建立index.js如下:
import mx from 'mxgraph';
const mxgraph = mx({
mxImageBasePath: './src/images',
mxBasePath: './src'
});
// decode bug https://github.com/jgraph/mxgraph/issues/49
window.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 {
// 再容器中創(chuàng)建圖表
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的方法”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!
標題名稱:vue中怎么使用mxgraph的方法-創(chuàng)新互聯(lián)
轉載來于:http://chinadenli.net/article28/cogicp.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供品牌網站制作、網站制作、標簽優(yōu)化、網站策劃、小程序開發(fā)、響應式網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容