gojs常用API (中文文档)
常用API 操作类API
| API | 例子 | 应用场景 | |
|
添加节点
|
myDiagram.model.addNodeData(node); |
var node = {};
|
通过按钮点击,添加新的节点到画布 |
| 删除选中节点 |
myDiagram.commandHandler.deleteSelection(); |
if (myDiagram.commandHandler.canDeleteSelection()) {
|
页面上有个按钮点击,可以删除选择的节点和线 |
| 获取当前画布的json |
myDiagram.model.toJson() |
var model= myDiagram.model.toJson();获得整个画布的json |
获取当前画布的所有元素的json,用来保存 |
| 加载json刷新画布 |
myDiagram.model = go.Model.fromJson(model); |
model=myDiagram.model.toJson() |
一般用来刷新和加载画布上的元素 |
| 通过节点key获取节点 |
myDiagram.model.findNodeDataForKey('key')
|
var node = myDiagram.model.findNodeDataForKey('key');
|
知道节点key ,拿到这个节点的详细信息 |
| 更改节点属性值 |
myDiagram.model.setDataProperty(node, 'color', "#ededed"); |
var node = myDiagram.model.findNodeDataForKey('key');//首先拿到这个节点的对象
|
更改节点的颜色,或者大小等 |
| 获取获得焦点的第一个元素,可为节点或者线 |
myDiagram.selection.first()
|
var node=myDiagram.selection.first(); |
|
| 获取所有获得焦点的节点 | myDiagram.nodes |
var items=''; |
|
| 遍历整个画布的节点信息写法1 |
for(var nit=myDiagram.nodes;nit.next();){
|
||
| 给节点添加线 |
myDiagram.model.addLinkData({ from: "节点的Key", to: "连到另一节点的key" })
|
||
| 选中节点 |
var newdata = { "text":"AAAA", "key":-33,"loc":"0 0" };
|
||
| 特殊案例API用法 |
myDiagram.findNodeForData(objNode) |
其中objNode或者objLink,只能从画布的json 对象取出,
不能直接手写例如
var newdata={"text":"AAAA","key":-33,"loc":"0 0"};
var node = myDiagram.findNodeForData(newdat2);
除了刚好是新建的节点外,,不然是获取不到这个对象的,因为添加节点时,gojs会自动给节点或者线添加一个属性
![]() |
常用事件定义API,和用法
| 应用场景 | 关键字 | 例子 | 例子描述 |
| 节点选中改变事件 |
selectionChanged: 回调的函数方法名
//该属性要写在$(go.Node,)内用大括号括起来,如右侧例子
|
myDiagram.nodeTemplate = 节点选中的时候是一种颜色,取消选中是另一种颜色 |
|
| 节点双击事件 |
doubleClick : function(e, node){
|
myDiagram.nodeTemplate = 该例子主要应用场景为,双击节点,得到节点的详细信息,弹出窗口修改节点的信息, |
|
| 从Palette拖过来节触发的事件 |
myDiagram.addDiagramListener("externalobjectsdropped", function(e) {
|
myDiagram.addDiagramListener("externalobjectsdropped", function(e) {
|
|
| 当前画布被拖动的节点 | 未测试,线保存 |
myDiagram.addDiagramListener("Modified", function(e) {
|
|
画布基本定义类API
| 定义gojs在全局的简洁符号(扯淡不知道怎么描述) |
var $ = go.GraphObject.make;
|
|
| 定义画布的基本属性 |
myDiagram = $(go.Diagram, "myDiagram", //画布绑定的Div的ID |
没写的注释的就是忘了,
这里绑定画布所用的div,并保存在myDiagram中,后续的节点设置均使用这个变量,意思是在这个画布上定义节点和操作节点
|
画布元素属性定义类API
| api | 例子 | |
| 定义单种节点 |
myDiagram.nodeTemplate=$(go.Node,***)
//***为对节点的定义
|
myDiagram.nodeTemplate = |
| 定义多种节点(画布上有多种节点) |
myDiagram.nodeTemplateMap.add("A种节点",$(go.Node,***))
|
//一种类型的节点 |
| 定义线 |
myDiagram.linkTemplate=$(go.Link,***);
|
添加监听事件
|
监听节点生成事件
|
//添加监听节点生成事件 |
| 监听线生成事件 |
//添加监听线生成事件 |
| 监听删除事件 |
//监听节点删除事件 |
go.Shape属性(形状)
| 圆角矩形 | RoundedRectangle | |
| 更多请查看API | https://gojs.net/latest/intro/shapes.html |
通用属性
| 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 |
gojs常用API (中文文档)的更多相关文章
- jQuery 3.1 API中文文档
jQuery 3.1 API中文文档 一.核心 1.1 核心函数 jQuery([selector,[context]]) 接收一个包含 CSS 选择器的字符串,然后用这个字符串去匹配一组元素. jQ ...
- jQuery EasyUI API 中文文档 - ComboGrid 组合表格
jQuery EasyUI API 中文文档 - ComboGrid 组合表格,需要的朋友可以参考下. 扩展自 $.fn.combo.defaults 和 $.fn.datagrid.defaults ...
- jQuery EasyUI API 中文文档 - ValidateBox验证框
jQuery EasyUI API 中文文档 - ValidateBox验证框,使用jQuery EasyUI的朋友可以参考下. 用 $.fn.validatebox.defaults 重写了 d ...
- jQuery EasyUI API 中文文档
http://www.cnblogs.com/Philoo/tag/jQuery/ 共2页: 1 2 下一页 jQuery EasyUI API 中文文档 - 树表格(TreeGrid) 风流涕淌 ...
- jQuery API中文文档
jQuery API中文文档 http://www.css88.com/jqapi-1.9/category/events/event-handler-attachment/ jQuery UI AP ...
- Web3.js API 中文文档
Web3.js API 中文文档 http://web3.tryblockchain.org/Web3.js-api-refrence.html web3对象提供了所有方法. 示例: //初始化过程 ...
- 以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明
以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明 为了让你的Ðapp运行上以太坊,一种选择是使用web3.js library提供的web3.对象.底层实 ...
- Etherscan API 中文文档-交易以及检查交易收据状态
本文原文链接 点击这里获取Etherscan API 中文文档(完整版) 完整内容排版更好,推荐读者前往阅读. 交易(Transaction) 交易相关的 API,接口的参数说明请参考Ethersca ...
- Etherscan API 中文文档-智能合约
本文原文链接 点击这里获取Etherscan API 中文文档(完整版) 完整内容排版更好,推荐读者前往阅读. 智能合约(Contracts) 智能合约相关的 API,接口的参数说明请参考Ethers ...
随机推荐
- nginx 模块
8.nginx开启目录浏览 提供下载功能 默认情况下,网站返回index指定的主页,但如果该网站不存在主页,则将请求交给autoindex模块 ##### 如果开启autoindex模块,则提供一个下 ...
- 给Xshell增加快速命令集
一.显示快速命令栏 二.配置快速命令集 在工具中找到快速命令集 添加快速命令集 三.使用快速命令集
- 关于读写APP.config文件能读却写不了的问题
今天要求用winform写一个窗口用来读写一个App.config,要对 <appSettings>里面的add key和value进行添加和修改.要实现的效果图如下: -------- ...
- SpringBoot启动zipkin-server报错Error creating bean with name ‘armeriaServer’ defined in class path resource
目前,GitHub 上最新 release 版本是 Zipkin 2.12.9,从 2.12.6 版本开始有个较大的更新,迁移使用 Armeria HTTP 引擎. 从此版本开始,若直接添加依赖的 S ...
- svn新建文件不能提交的解决方法
svn新建文件不能提交的解决方法 在当前新建文件的目录下,右键空白处: 选择Properties 找到所有有ignore字眼的属性,查看这个属性的继承目录(inherited from),入我的是cl ...
- SpringCloud搭建注册中心与服务注册
上一篇文章<微服务注册中心原理,看这篇就够了!>介绍了注册中心的概念和原理,本文将介绍下利用Eureka搭建中心并注册服务到注册中心的过程. 本文目录 一.Eureka介绍二.搭建注册中心 ...
- Google AppCrawler初探
AppCrawler是什么 你可以把它想成类似monkey一样的工具,调起你的应用程序并执行各种动作(点击,输入,滑动等)来通过这种方式 来查看各种情况下应用程序的状态 官方文档链接:AppCrawl ...
- Spring Boot 整合 Web 开发
这一节我们主要学习如何整合 Web 相关技术: Servlet Filter Listener 访问静态资源 文件上传 文件下载 Web三大基本组件分别是:Servlet,Listener,Filte ...
- 阿里云centos6.9搭建fastDFS文件服务器
准备压缩包: 1.fastdfs-nginx-module_v1.16.tar.gz 2.FastDFS_v5.05.tar.gz 3.libfastcommonV1.0.7.tar.gz 4.ngi ...
- HttpClient连接池的一些思考
前言 使用apache的httpclient进行http的交互处理已经很长时间了,而httpclient实例则使用了http连接池,想必大家也没有关心过连接池的管理.事实上,通过分析httpclien ...
