(2) GoJS Node简介
node
GoJS提供了非常简单的创建Node节点的方法,可将文本内容、结点形状、背景颜色、边距等属性通过数据绑定[go.Binding]直接绑定到对应的Node数据中。
本文简单介绍Node的创建过程及对应属性的绑定。
1.simple node
创建一个只包含文本的Node,利用数据绑定,设置节点的背景颜色、文本内容、节点形状。代码如下:
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/gojs/1.7.7/go-debug.js"></script>
    <title>Document</title>
</head>
<body>
    <div id="myDiagramDiv" style="width:300px; height:300px; background-color: #DAE4E4;"></div>
    <script>
        var $ = go.GraphObject.make;
        //取创建的DIV作为画布
        var  diagram  =  $(go.Diagram,  "myDiagramDiv",   {            
            initialContentAlignment:  go.Spot.Center,
            "toolManager.mouseWheelBehavior":  go.ToolManager.WheelZoom//通过鼠标滚轮放大或缩小画布       
        });
        diagram.nodeTemplate =
            $(go.Node, "Auto",
                $(go.Shape,
                    new go.Binding("figure","shape"), //绑定Node的形状,也可直接设置Shape.figure
                    new go.Binding("fill", "color")),   //绑定背景填充颜色
                    $(go.TextBlock,
                        { margin: 5 },
                        new go.Binding("text", "key"))  //绑定文本内容,显示在对应的Node上
    );
  //Node原始数据
  diagram.model.nodeDataArray = [
    { key: "Alpha", color: "lightblue", shape:"Rectangle" },
    { key: "Beta", color: "yellow", shape:"Circle" },
    { key: "Gamma", color: "lightblue", fig: "Hexagon" },
    { key: "Delta", color: "lightblue", fig: "FramedRectangle" }
  ];
</script>
</body>
</html>
设置go.Shape属性可以给node添加不同的样式,example:
 $(go.Shape, "Rectangle",{
                  figure: "Club"//Node形状
                  width: 40,  //设置Node宽度,单位px
                  height: 60, //Node高度
                  margin: 4,  //边距
                  fill: "green", //填充颜色
                  background:"yellow"//背景颜色
                  strokeWidth:2//线宽
                   })
设置go.TextBlock的属性可以给文本添加不同的样式,example:
 $(go.TextBlock, { text: "a Text Block",
                   background: "lightgreen",
                   margin: 2,
                   width: 100,
                   height: 33,
                   alignment:go.Spot.Right
                    })
												
											(2) GoJS Node简介的更多相关文章
- (3)Gojs model简介
		
(3)Gojs model简介 在GoJS中,model用来存储表的基本数据,包括node.link等具体对象和属性,与其在视觉上的展示效果不相关.model中往往只保存相对简单的数据,最方便且持久化 ...
 - 《深入浅出Node.js》第1章 Node简介
		
@by Ruth92(转载请注明出处) 第1章 Node简介 一.Node的起源 高性能Web服务器的要点:事件驱动.非阻塞I/O. 选择JavaScript的原因:高性能.符合事件驱动.没有历史包袱 ...
 - node 简介  起源
		
最近的node 的一篇文章阅读量很大,所以写一篇基础篇供大家分享,抛砖引玉,各取所需. 部分内容来源大神笔记. Node.js 简介:@@@@@@@@@@@@@@@@@@@ Node.js是目前非常火 ...
 - 深入浅出node(1) Node简介
		
这一系列主要是自己在学习深入浅出node.js这本书的学习笔试,部分加入了自己的一些理解 分享给一起学习node的小伙伴 自己还是个初学者 有很多地方理解的不到位 一起交流 一 什么是node 1.1 ...
 - 深入浅出Node.js (1) - Node简介
		
1.1 Node的诞生历程 1.2 Node的命名与起源 1.2.1 为什么是JavaScript 1.2.2 为什么叫Node 1.3 Node给JavaScript带来的意义 1.4 Node的特 ...
 - node简介
		
1. Node.js是什么? 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台. Node.js ...
 - node必知必会之node简介
		
1.什么是node.js 按照: Node.js官方网站主页 的说法: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript ...
 - 【读书笔记】《深入浅出nodejs》第一章 Node简介
		
1. Node的官方网站: http://nodejs.org 2. Node的缘起: Ryan Dahl 打算设计一个高性能的Web服务器. Ryan Dahl 认为设计高性能Web服务器的要点在于 ...
 - 《Node.js 高级编程》简介与第二章笔记
		
<Node.js 高级编程> 作者简介 Pedro Teixerra 高产,开源项目程序员 Node 社区活跃成员,Node公司的创始人之一. 10岁开始编程,Visual Basic.C ...
 
随机推荐
- [办公应用]如何保护我的EXCEL表格结构,不被填表人员随意改动
			
同事很苦恼的说,下发要求部门人员填写的EXCEL表格,已经加了密码,结果最后还是被他们自行复制后,更改了列结构,“一塌糊涂”的填写交了上来.这样给他的后续处理带来了很多麻烦. 我相信不少朋友很多时候都 ...
 - Called attach on a child which is not detached
			
问题:Called attach on a child which is not detached: ViewHolder#出现问题的原因 经过google后发现,出现该问题的原因是由于recycle ...
 - Windows Java环境变量配置
			
安装步骤略过... 环境变量配置 新建环境变量: JAVA_HOME C:\Program Files\Java\jdk1.6 将路径替换为自己的安装路径. 新建环境变量: classpath ...
 - MySQL 循环分支语法
			
---恢复内容开始--- Loop循环 label: LOOP statement_list IF exit_condition THEN LEAVE label; END IF; END LOOP ...
 - bzoj 2730: [HNOI2012]矿场搭建【tarjan】
			
先tarjan找割点和点双连通分量,然后对一个点双,如果没有割点,那么需要建立两个出口(割掉一个另一个备用):如果只有一个割点,出口可以设立在任意一个非割点的地方:如果有两个及以上个割点,就不用建出口 ...
 - bzoj 1622: [Usaco2008 Open]Word Power 名字的能量【模拟】
			
模拟即可,注意包含可以是不连续的 方便起见读入的时候全转成小写 #include<iostream> #include<cstdio> using namespace std; ...
 - DotnetCore(1)尝鲜构建Web应用
			
在上篇文章中DotnetCore环境安装完成后,现在我们来尝试构建Web应用. 新建文件夹NetCoreWebDemo,并cd进入NetCoreWebDemo文件夹 同时Ctrl+shift按下快捷键 ...
 - 2017杭电多校第七场1005Euler theorem
			
Euler theorem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others) ...
 - 题解报告:poj 2386 Lake Counting(dfs求最大连通块的个数)
			
Description Due to recent rains, water has pooled in various places in Farmer John's field, which is ...
 - ACM_蛇形矩阵
			
蛇行矩阵 Time Limit: 4000/2000ms (Java/Others) Problem Description: 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形. Input: ...