首页 / 浏览问题 / 三维GIS / 问题详情
webGL结合vue项目,viewer及dataSource实例应该如何销毁
46EXP 2021年05月19日

使用产品:webGl 操作系统:win10 x64
数据类型: 文件型
问题详细描述:在vue项目中页面路由切换时,检测到浏览器标签页内存一直上升,切换次数多了场景会崩溃报错。

DeveloperError: Expected width to be greater than 0,actual value was 0

咨询超图技术支持让vue组件销毁时,进行viewer等实例的销毁操作。

项目中用到了DataSource设置。

翻文档显示。设置了DataSource之后,viewer销毁时,DataSource实例并不会随之销毁。

现在问题是销毁时:不论先销毁哪个都会报错。试了DataSourceCollection的destroy方法和removeAll(destroy)。都会报错。

无论是先销毁viewer,再销毁DataSourceCollection;还是先销毁dataSource再销毁viewer都会报错:{name: "DeveloperError", message: "This object was destroyed, i.e., destroy() was called.",

请问该如何进行销毁操作?

1个回答

您好,销毁只需一次即可,多次销毁就会报上述错误。您的问题“在vue项目中页面路由切换时,检测到浏览器标签页内存一直上升,切换次数多了场景会崩溃报错。”是否是将Cesium下的对象,比如说Viewer放到了store、data、computed 中,正确的做法应该是将Viewer作为window对象,避免被vue劫持

康鑫
1
6,087EXP 2021年05月19日

viewer文档中这项,写的DataSource不会随viewer销毁。该如何销毁DataSource呢。

viewer对象已经放到了window上了。没往vue属性上挂载。

...