Gojs-起手式
本文主要概括了gojs入门需要了解的基本概念,以及它们间的关系
1.Diagrams and Models(图表与模型)
图表所包含的节点和连线是数据的可视化,这些数据是由模型管理的。Gojs是MV架构的,其中模型(M)保存着描述节点和连线的数据(数组和js对象),图表充当着视图(V)的角色,视图是由真实的节点和连线组成的。
2.Node(节点)
节点可以由模板创建出来,模板是由GraphObjects组成的,用户可以在这些对象上设置自定义属性。Gojs由集中预设的模型:
- Shape, 用颜色来展示预定义或者自定义的图形
- TextBlock,文本块,用来展示或者编辑文本
- Picture,用来展示图片
- Panel,容纳多个别的GraphObjects的容器,panel的位置和大小形状由panel的类型决定
所有的这些块都由 GraphObject抽象类衍生而来。注意:GraphObject对象并不是一个DOM元素,所以创建和修改GraphObject并没有那么多的开销。
通过数据绑定可以改变GraphObject的外观和行为,模型的数据是普通的js对象。默认的Node模板是一个TextBlock。
myDiagram.nodeTemplate =
$(go.Node,
$(go.TextBlock,
//绑定(映射)节点数据中key属性到TextBlock的text属性上
new go.Binding("text", "key"))
);