栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > Vue.js

基于nuxt和iview搭建OM后台管理系统实践(5)-高德地图地块气象数据展示组件的封装

Vue.js 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于nuxt和iview搭建OM后台管理系统实践(5)-高德地图地块气象数据展示组件的封装

封面图,基于创客贴在线制作

目录结构

这是《基于nuxt和iview搭建OM后台管理系统实践》这一个系列文章的目录,大致思路如下:

  • 简要介绍OM后台管理系统,以及开发环境

  • 自行封装的公共组件,富文本quill[已完成]、地图、上传组件(阿里oss、七牛上传组件已经完成)的封装过程

  • 项目上线流程,自动化打包(Jenkins)

  • 项目总结,总结开发过程中的坑点,避免以后再掉坑

前言

上几篇记录了几个功能比较简单的组件,本篇的高德地图封装遇到了蛮多坑,在此记录一下,避免后面再踩坑。

说到地图组件,其实是其他项目组需要地图数据展示,然后我被借调到其他项目组,最终翻阅高德地图众多api后终于完成了。

直接看东西

高德地图组件展示

本地数据原因,没有完整的展示地图组件功能,待去公司再截取动态图

核心代码
// 文件componets/amap-weather.vue
    .v-charts-data-empty {        position: absolute;        top: 0;        left: 40%;        font-size: 16px;        top: 10%;
    }

使用方法:按照vue标准引用局部组件的方式引入即可,分别传入getlandRequestURL,getgeoJsonURL,getWeatherJsonURL,getAreaData地址。

总结
  • 在封装高德地图组件过程中遇到最大的一个坑:nuxt路由跳转到地图页面报错,最终的解决方案是在left-nav.vue跳转方法里做判断,如果路由路径为map就刷新页面,同时利用:active-name="menuName"属性展开左侧菜单;

路由跳转报错展示

  • 另外一个坑就是服务端渲染带来的问题,最终在mounted生命周期函数中根据process做判断是浏览器端还是服务端并做相应的处理,如代码所示

mounted() {
    var _this = this;    if (process.browser) {
        _this.initMap();
        _this.getData();
    }
}
  • 展示的气象数据需要用到echart图表展示,这一块时间限制并没有做很好的封装,导致代码太乱,后续有时间会做优化;

乱得一批的代码

  • 另外对于组件命名也不规范,官方推荐用amap-weather.vue这种,在做这一块的总结的时候可以看到上面的代码改过来了;

组件命名规范



作者:愿爱无忧dk_
链接:https://www.jianshu.com/p/184d67402f67


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/241183.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号