共通API APIの操作クラス
API | 例 | シナリオ | |
ノードの追加 | |
|
ボタンをクリックすると、キャンバスに新しいノードを追加 |
選択したノードを削除します。 | |
|
ページ上のボタンのクリックがあり、あなたが選択したノードと行を削除することができます |
現在のキャンバスJSONを取得します | |
|
現在のキャンバスのすべての要素をJSON取得し、保存します |
ロードJSONリフレッシュキャンバス | |
|
一般的には、キャンバス上の要素をリフレッシュしてロードするために使用 |
ノードによってキーのノードを取得します | |
|
このノードの詳細情報を取得するには、ノードのキーを知っています |
ノードのプロパティ値を変更します | |
|
ノードまたはサイズの色を変更 |
最初の要素のフォーカス可能ノードまたはラインを得ることであってもよいです | myDiagram.selection.first() | |
|
フォーカスを持っているすべてのノードを取得します。 | myDiagram.nodes | |
|
1書き込ま全体キャンバスノード情報トラバース | |
||
ノードに行を追加します。 | |
||
ノードを選択します | |
||
特殊なケースのAPIの使用法 | |
又は前記objNode objLink、オブジェクトは、直接、例えばVAR NEWDATAを= { "AAAA"、 "キー": "テキスト" - 33、 "LOC": "0"}手書きない、キャンバスJSONから除去することができる; VARノード= myDiagram.findNodeForData(newdat2)、ノードが追加されたとき、gojs属性を自動的にノードまたは行に追加されているため、他に新しいノードがそうではないだけ外側,,この目的は、取得されていないため |
共通API定義されたイベント、および使用方法
シナリオ | キーワード | 例 | 記述の例 |
ノード変更イベントを選択します | selectionChanged://コールバック関数のメソッド名を属性に右の例として、中括弧で$(go.Nodeを)書くこと | 選択されたノードがカラーである場合、他の色のチェックを外し |
|
イベントノードをダブルクリックします | |
この例のメインアプリケーションシナリオは、ノードをダブルクリックしてノードの詳細を与える、ノード変更情報ウィンドウがポップアップし、 |
|
パレットから、トリガイベントのセクションの上にドラッグします | |
|
|
現在のキャンバスは、ノードをドラッグされています | 、ラインの保全をテストしていません | |
Canvasクラスは、基本的なAPIを定義します
グローバルでのシンボルの簡潔な定義(がらくたを記述する方法がわからない)Gojs | VAR $ = go.GraphObject.make。 | |
キャンバスの基本的なプロパティを定義します。 | |
没写的注释的就是忘了, 这里绑定画布所用的div,并保存在myDiagram中,后续的节点设置均使用这个变量,意思是在这个画布上定义节点和操作节点 |
画布元素属性定义类API
api | 例子 | |
定义单种节点 | myDiagram.nodeTemplate=$(go.Node,***) //***为对节点的定义 | |
定义多种节点(画布上有多种节点) | myDiagram.nodeTemplateMap.add("A种节点",$(go.Node,***)) | |
定义线 | myDiagram.linkTemplate=$(go.Link,***); |
添加监听事件
监听节点生成事件 | |
监听线生成事件 | |
监听删除事件 | |
go.Shape属性(形状)
圆角矩形 | RoundedRectangle | |
更多请查看API | gojs.net/latest/intr… |
通用属性
stroke | 边框颜色 | null为无边框,可填"#87CEFA","red"等 |
margin | 边框间距 | |
visible | 设置是元素是否可见 | true为可见,false为不可见, |
textAlign | 文本位置 | "center"居中 |
editable | 文本是否可编辑 | true,false |
font | 字体 | "bold 8pt Microsoft YaHei, Arial, sans-serif" |
fill | 背景颜色 | 可填"#87CEFA","red"等 |
alignment | 元素位置设置 | go.Spot.BottomLeft/左下 go.Spot.BottomRight/右下 go.Spot.TopLeft/左上 go.Spot.TopRight/又上 alignment:go.Spot.TopRight |
isMultiline | 编辑时是否允许换行 | 默认true |
maxLines:1, | 设置文本显示的最大行数 | |
minSize: | 最小大小 | new go.Size(10, 16),控制了最大大小后,文本就会自动换行了 |
maxSize: | 最大大小 |
特殊情况解决方案
出现的问题 | 解决的方案 |
节点或者线删除不了 | 检查,画布的全局设置是否禁用删除,或者节点,和线的设置禁用删除,关键字 isReadOnly,或者节点绑定的事件有问题 |
重复调用定义画布报错 | 不能重复定义被绑定的div,应该用重新加载数据的API |
原文链接:www.cnblogs.com