gojs 在vue中簡單使用

2021-09-05 01:35:29 字數 3699 閱讀 3621

先推薦一篇文章

栗子1效果圖可折疊的 family tree:此例是單純的html格式,**複製貼上就會出效果

同上需要先定義dom

js

window.onload=function()

function init() )//樹狀結構的角度});

mydiagram.nodetemplate = gm(

go.node, "vertical",//節點展開方向為豎向展開

,gm(go.panel, "auto",

,gm(go.shape, "rectangle",//建立矩形容器容器樣式

,new go.binding("fill", "gender", genderbrushconverter)

//樣式來自之前定義的bluegrad物件,無特殊標示(高亮,選中)

),gm(go.textblock,

,new go.binding("text", "name")

),gm(go.panel, "vertical",

,//矩形容器內邊距

gm(go.textblock,

,//標題字型樣式

new go.binding("text", "question")//為標題文字繫結資料question欄位

),// 可選動作列表

gm(go.panel, "vertical",

// 除非有多個動作,否則不可見

,//當無子節點時,不可見

new go.binding("visible", "answer", function(acts) ),//將答案陣列(資料中的子節點陣列)繫結在矩形區域內

// 由表中的標籤和panelexpanderbutton標頭

gm(go.panel, "table",

,gm(go.textblock, "選項",

),gm("panelexpanderbutton", "collapsible", // 使可見或不可見的物件的名稱

)//下拉摺疊按鈕

),gm(go.panel, "vertical",//第二個子矩形區域(存放答案(資料總的子節點陣列))

,new go.binding("itemarray", "answer") // 將itemarray繫結到nodedata.actions))

) ),

gm(go.panel,

, gm("treeexpanderbutton")

)//子節點展開/收起按鈕 通常高度為15

);mydiagram.linktemplate = gm(

go.link, go.link.orthogonal,

,//連線圓角角度

gm(go.shape,

//線條寬度

),gm(go.textblock, go.link.orientupright,

,new go.binding("text", "answer"),

// 如果answer欄位未定義,則設定節點不可見

new go.binding("visible", "answer", function(a) )

));

var nodedataarray = [

// key 所在位置,gender 顏色,,,

,,,,

,,,,

,,];// 建立family tree模型

mydiagram.model = new go.treemodel(nodedataarray);

}// 顏色

function genderbrushconverter(gender)

栗子2效果圖:

**:需要先設定好固定的dom

在main.js中引入gojs

import './util/go.js';
js

// 需要先定義全域性變數,不然會報錯

let go = window.go;

let gm = go.graphobject.make; //定義模版,這裡官網用的$太敏感,被我替換掉了

export default

},mounted ()); // 圖表居中顯示

var graygrad = gm(go.brush, "linear", ); // 定義圖**式刷

// 定義節點模版

this.mydiagram.nodetemplate = gm(

go.node, "auto",

, // 是否投影

// 定義節點的外部形狀

gm(go.shape, "roundedrectangle", // 形狀為圓角矩形

,new go.binding("fill", "color")),

// 定義節點的文字

gm(go.textblock,

,new go.binding("text", "key")),

gm(go.panel,

,new go.binding("itemarray", "reasonslist")// 漢字說明));

// 連線線樣式

this.mydiagram.linktemplate = gm(

go.link,

,gm(go.shape, )

); },

methods:

},function())

},doubletreelayout(diagram) );

var layout2 =

gm(go.treelayout,

);layout1.dolayout(leftparts);

layout2.dolayout(rightparts);

diagram.committransaction("double tree layout");

},separatepartsbylayout(diagram, leftparts, rightparts) );

}}

後台的資料格式:

[

],"key": "10.96.140.136"

},],

"dir": "right",

"key": "10.100.17.189"

},],

"dir": "right",

"key": "10.100.17.174"

},],

"dir": "left",

"key": "10.96.140.117"

},],

"dir": "left",

"key": "10.96.140.126"

},],

"dir": "left",

"key": "10.100.136.117"

},],

"dir": "left",

"key": "10.96.140.71"

}]

MockJS在Vue中的簡單使用

mock.js 是一款前端開發中攔截ajax請求再生成隨機資料響應的工具.可以用來模擬伺服器響應.優點是非常簡單方便,無侵入性,基本覆蓋常用的介面資料型別.1 建立 mock.js mock.js 引入 mockjs 模組 import mock from mockjs mock.mock getn...

axios在vue中的簡單配置與使用

尤雨溪之前在微博發布訊息,不再繼續維護vue resource,並推薦大家開始使用 axios axios 是乙個基於promise 用於瀏覽器和 nodejs 的 http 客戶端,它本身具有以下特徵 npm 1 2 3 npm install axios 源 cnpm install axios...

axios在vue中的簡單配置與使用

尤雨溪之前在微博發布訊息,不再繼續維護vue resource,並推薦大家開始使用 axios axios 是乙個基於promise 用於瀏覽器和 nodejs 的 http 客戶端,它本身具有以下特徵 npm npm install axios cnpm install axios 源import...