SuperMap iClient3D for WebGL-Vue组件开发之全局globe属性

作者:桔子
本文同步发布于https://www.jianshu.com/p/5a46b8538182

前一节提到了Vue.$globe自定义属性,这一节着重来介绍设计这个自定义属性的初衷和用法。

Vue的MVVM架构的一个核心功能就是数据的绑定,将部分数据在data属性中进行监听,大多数开发者在使用SuperMap iClient3D for WebGL和Vue进行结合开发时,会情不自禁的将viewer、scene等和场景相关的对象放在data中监听,方便参数的传递和使用。由于data的监听机制,以及viewer、scene等的刷新机制,直接导致场景帧率低下,场景浏览卡顿,也就说不能讲viewer、scene等放置到data中进行监听,那vue组件之间需要传递viewer、scene等参数时如何实现?这就引申出Vue.$globe属性设计的构想。

通过全局设置改属性,可以在任意vue组件中获取到该属性,也就方便了后续的调用。

//资源路径
//后续会添加全局的Viewer属性
//静态资源,需放置到static目录
const CesiumPath = "./static/Cesium";///Cesium.js
// const csspath = "./static/Cesium/Widgets/widgets.css";
const prettycsspath="./static/Cesium/pretty.css"

export default{
    CesiumPath,
    prettycsspath
}
 this.$set(this.$globe, "viewer", viewer);
 this.$set(this.$globe, "scene", viewer.scene);

由于前面提到Cesium资源的加载是异步的,viewer的初始化也是需要时间的,在其他组件初始化时并不能在初始化时就获取到viewer、scene等参数,在后续的组件开发过程中将讲解如何实现。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值