使用vue3 composition-api 实现mineData地图图层隐藏与展示

本文通过一个具体的例子展示了如何使用Vue3的Composition API将地图功能进行模块化开发,包括地图底图、marker点加载和图层切换等。通过将各功能点拆分成单独的文件,提高了代码的可读性和维护性,减少了团队协作中的冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        最近在学习公司的一个地图平台,正好结合vue3 composition-api将一些基础效果实现。

        写过vue2的人都知道,在一个vue文件中可能有许多功能点,比如一个列表页有搜索功能、分页功能、导出功能等等。在一些人员充足的团队中,各个功能点可能有不同的人来负责开发,vue2中,只能等待一个人将一个功能点完成后另一个人才能继续开发另一个功能点,否则就会冲突(当然愿意花时间去解决冲突也可以同时开发);而使用vue3 composition-api,就可以将各个功能点拆分成单独的文件,相关人员独立开发,互不影响,只需要在开发完成后在主页面中调用即可。

网上有很多拿mixin来说明composition-api好处的例子,但个人感觉那并不是主要的作用,实际项目中很少有在各个vue文件中使用大量mixin的做法,毕竟耦合度太高,容易出问题。composition-api官网中的介绍中拿了vue2在大型应用中的不利之处,并提出composition-api就是为了解决这种不利(具体有啥不利之处可参照官网),其实通俗点将就是vue2只能把所有功能的data、methods、watch等等写到vue文件的指定位置,这种写法会导致一个复杂的vue文件尤为混乱;而composition-api就显得更为灵活,可以将各个功能点的代码写在同一区域,说了这么多,个人认为其实composition-api就是实现了各个功能点分离,从而利于项目的维护,提高了代码的可读性。接下来本人就使用composition-api结合mineDate的二维地图实现图层展示与隐藏。

最终效果

 

        上图中的隐藏与展示、marker点加载、地图底图的展示都是放在不同的文件中,最终在一个主页面中调用各个部分的功能代码。 

 地图底图文件:baseMap2D.vue

 

<template>
  <div class="base-map2D" :id="mapId"></div>
</template>
<script>
import { nextTick, reactive } from 'vue'
export default {
  props: {
    mapId: {
      type: [String, Number]
    }
  },
  setup (props, context) {
    /**
     * 全局参数设置
     */
    minemap.domainUrl = 'https://minedata.cn'
    minemap.dataDomainUrl = 'https://minedata.cn'
    minemap
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值