cytoscape.js 学习思路

对象类型:

在这些对象上面可以调用函数(默认情况下,会返回引用:例如obj.fn1().fn2().fn3(),除非文档另有说明,形成可连接方式)。这种现象对core和collection都使用,但是含多个元素的集合上调用单个- ele、node或edge函数将只返回第一个元素的期望值(这句话没理解呢)。

深度复制的需要

当将对象传递给Cytoscape.js以创建元素、动画、布局等时,这些对象被认为是由Cytoscape拥有的(进行深度拷贝,有性能消耗)。然而,对于大多数程序员来说,复制在大多数情况下都不是必要的。

手势支持:

抓取拖动背景、滚轮缩放、触摸屏-按压/手势向上or向下缩放、轻按节点选择,轻按背景取消、多重选择(shift, command, control, alt) + tap)、方框选择、拖拽节点。

这些收拾可以打开或者关闭。

位置:

包括model position 和 render position。model position是固定不变的,可以自动设置,也可以通过layout设置。可以通过edge的长度设置影响位置。

elements写法1:

 elements: [ // flat array of nodes and edges
    { // node n1
      group: 'nodes', // 'nodes' for a node, 'edges' for an edge
      data: { 
        id: 'n1',parent: 'nparent'
      }
    },

    { // node n2
      data: { id: 'n2' },
      renderedPosition: { x: 200, y: 200 } // can alternatively specify position in rendered on-screen pixels
    },

    { // node n3
      data: { id: 'n3', parent: 'nparent' },
      position: { x: 123, y: 234 }
    },

    { // node nparent
      data: { id: 'nparent' }
    },

    { // edge e1
      data: {
        id: 'e1',
        //  当source和target同时指定为,会指定为edge类型
        source: 'n1', 
        target: 'n2'  
        // (`source` and `target` can be effectively changed by `eles.move()`)
      },
    }
  ],

elements写法2:

 elements:{
node:[],
edges:[]
}

复合节点:

{id:“nparent”},{id:"1",parent:"nparent"}:复合节点的位置通过推导得出。针对一些函数,比如node.parent() node.neighoboerhood() 会被特殊对待

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值