自定义对象属性
CamBuilder 中添加的自定义属性
CamBuilder 中创建的物体,只有在编辑了 UserID、Name 或者 自定义属性 后,导入到 ThingJS 中才能成为独立的管理对象,被程序读取或修改。
在 CampusBuilder 中我们可以手动添加自定义属性。
如下图所示:
从 CampusBuilder 导入的用户自定义的属性可通过 userData 属性访问到
例如上图中的属性,我们这里可以这样访问:
代码语言:javascript复制 obj.userData["物体类型"];
程序运行中添加的自定义属性
JS 是一个灵活的语言,允许我们动态为对象添加属性。比如,我们从后台接收到的监控数据,可以直接给对象添加自定义属性 monitorData 来进行存储:
代码语言:javascript复制obj.monitorData = {
温度:10,
单位:“摄氏度”
}
访问自定义属性
正如我们看到的,ThingJS 对象有丰富的属性。其中有的属性可能具有嵌套结构,比如用户在CamBuilder中添加的自定义属性 userData ,以及用户通过代码自行添加的 monitorData ,访问它们有时比较麻烦,如下:
代码语言:javascript复制if(obj.monitorData && obj.monitorData["温度"] > 0)
.....
所以我们提供了一些便于访问、设置对象属性和判断对象属性是否存在的方法,例如:
代码语言:javascript复制obj.getAttribute("monitorData/温度") //获取属性值
obj.setAttribute("monitorData/温度", 15) //设置属性值
obj.hasAttribute("monitorData/温度") //判断属性是否存在
不论是在CamBuilder中设置的自定义属性,还是在ThingJS中通过代码设置的自定义属性,都可在“在线开发” - “工具” - “场景信息” 中通过选中场景树中的某个物体对象查看物体属性: