获取对象
在 TopoBuilder 中我们可以给需要操作的对象添加 id、name、自定义属性,然后通过 query() 方法来查询对象(即获取对象)。找到对象后,就可以通过拓扑组件提供的功能来控制该对象了。
获取对象的语法
通常,我们可以通过 query() 方法来获取对象。
graph.query(value)[index] // 查询单个对象
graph.query(value) // 查询带有某属性的Selector集合
获取场景中的对象
获取拓扑场景中的对象时,需要将 query() 方法添加到 load 事件的回调函数中。绑定 load 事件来通知拓扑场景加载完成,然后就可以通过 query() 方法来获取场景中的对象了。代码如下所示。
graph.on('load', function() {
const objs = gaph.query(value)
})
这里,我们查询到的是一个 Selector 集合,即场景中满足查询条件的所有对象。
获取场景中的单个对象
需要获取拓扑场景中单个对象时,需要添加[index],指明查询的对象为单个。
graph.on('load', function() {
const obj = gaph.query(value)[0]
})
参考信息
常用 query() 方法属性
我们可以通过下表中所列的属性来查询对象。
查询方式 | 代码示例 |
---|---|
通过对象 id 查询 | graph.query('#100')[0] // 查询 id 是100的单个对象 |
通过对象名称查询 | graph.query('node1')[0] // 查询名称(name)是 node1 的单个对象 |
通过自定义属性查询 | graph.query('[userData/类型=服务器]') // 查询对象自定义属性中类型是服务器的对象集合 |
下一个教程中,我们来学习控制对象。