问题出现原因:
Ceisum球初始化之后将viewer与vue中的data或者computed进行了绑定,导致vue对viewer进行了数据劫持。
数据劫持的情况表现在viewer 或者viewer.scene 为 observer对象
解决方案:
1、将viewer放到全局对象当中;
let viewer = new Cesium.Viewer('container');
window.earth = viewer
2、构建一个中间层,通过中间层访问,阻断数据劫持到最底层;(简单说就是vue触发数据变更,然后通知中间件变更的属性,由中间件将变更的属性值通知cesium中相应的属性);
伪代码:
class test(){
public static update(attribute, value){
// 判断逻辑
cesium.update()
}
}
test.update(xx,xx)