原因:uni中非web端运行在V8引擎中,不支持web端的window、document、navigator等浏览器的API,只支持标准ES语法。因此借助网上的参考,进行Echarts组件封装,借助renderjs 在视图层操作dom ,进行Echarts实例初始化,并将配置数据定义在主script中的data中,在主script中进行数据的处理。

解决方法:

renderjs

一、xml

二、data数据

三、script导入

四、源码

<template>
    <view class="content">
        <view
          :prop="option"
          :change:prop="echarts.updateEcharts"
          id="echarts"
          class="echarts"
        ></view>
    </view>
</template>

<script>
    export default {
        data() {
            return {
                option : {
                    grid: {
                    top: '0',
                    left: '0',
                    right: '0',
                    bottom: '0',
                    },
                    title: {
                      text: '',
                      subtext: '',
                      x: 'center'
                    },
                    legend: {
                      orient: 'horizontal',
                      icon: "circle",
                      textStyle: { 
                          color: 'rgba(102, 102, 102, 1)',
                            padding: [0, 0, 0, -8],
                          fontSize: 12
                      },
                      itemHeight: 6,
                      left: '10%',  //图例距离左的距离
                      y: '90%',  //图例上下居中
                      data: ["投礁型","田园型","游钓型","底播型","装备型"]
                    },
                    color: ['rgba(156, 107, 250, 1)', 'rgba(88, 227, 154, 1)', 'rgba(248, 202, 93, 1)',
                            'rgba(105, 222, 219, 1)', 'rgba(218, 114, 204, 1)'],//五个数据,五个颜色
                    series: [
                      {
                        name: '',
                        type: 'pie',
                        radius: ['40%', '65%'],  //图的大小
                        center: ['50%', '50%'], //图的位置,距离左跟上的位置
                        data:[
                          {
                            name:"投礁型",
                            value:'10'
                          },
                          {
                            name:"田园型",
                            value:'8'
                          },
                          {
                            name:"游钓型",
                            value:'9'
                          },
                          {
                            name:"底播型",
                            value:'5'
                          },
                          {
                            name:"装备型",
                            value:'6'
                          }
                        ]
                      }
                    ]
                },}
        }
    }
</script>

<script module="echarts" lang="renderjs">
    let myChart
    export default {
        mounted() {
            if (typeof window.echarts === 'function') {
                this.initEcharts()
            } else {
                // 动态引入较大类库避免影响页面展示
                const script = document.createElement('script')
                // view 层的页面运行在 www 根目录,其相对路径相对于 www 计算
                script.src = 'static/echarts.js'
                script.onload = this.initEcharts.bind(this)
                document.head.appendChild(script)
            }
       
        },
        methods: {
            initEcharts() {
                setTimeout(() => {
                  myChart = echarts.init(document.getElementById('echarts'))
                  // 观测更新的数据在 view 层可以直接访问到
                  myChart.setOption(this.option)
                })
                // 这里是用于窗口变化时的自适应,利用的是echarts自带的resize方法
                window.addEventListener('resize', () => {
                    myChart.resize()
                });
                
            },
            updateEcharts(newValue, oldValue, ownerInstance, instance) {
                // 监听 service 层数据变更
                if(myChart) {
                  myChart.setOption(newValue)
                  window.addEventListener('resize', () => {
                      myChart.resize()
                  });
                }
            },
            onClick(event, ownerInstance) {
                // 调用 service 层的方法
                ownerInstance.callMethod('onViewClick', {
                    test: 'test'
                })
            }
        }
    }
</script>

<style>
    .echarts {
        width: 100%;
        height: 434rpx;
    }
</style>

uniapp打包发布至app端 echarts图表不显示问题相关推荐

  1. (三)01 -Vue项目打包发布移动App——vue.config.js中配置相对路径publicPath为空字符串 在public中添加HBuilderX的打包配置文件manifest.json

    Vue 项目打包发布移动 App--npm run build打包 & vue.config.js文件中配置相对路径publicPath为空字符串 & 在 public中添加HBuil ...

  2. vue 工程中加入 echarts 图表不显示的问题

    vue 工程中加入 echarts 图表不显示的问题 一.问题原因 vue 引用 echarts 方式错误,高版本采用了低版本的引用方式 二.vue工程使用echarts vue官方教程 1. 安装 ...

  3. 小程序开发华为P20、voiv下Echarts图表不显示数据、坐标轴等问题

    背景:小程序开发 BUG:华为P20.viov手机系统下Echarts图表不显示数据.坐标轴等问题.如下图: 解决方案:WXML中使用的ec-canvas标签加入属性force-use-old-can ...

  4. Echarts图表不显示

    Echarts图表不显示 div标签的style属性设置有问题 <div id="chart-user" style="width:500px; height:50 ...

  5. echarts 图表不显示数据,显示了一个表情

    echarts图表不显示数据,显示了一个表情 背景描述 使用echarts进行数据统计和展示,但是在使用过程中,发现图表并没有成功绘制,而是只显示了一个表情如下图 原因: 图表的div宽度太宽了,di ...

  6. uniapp App端 echarts 设置tooltip的formatter不生效问题及解决办法

    一.开发需求 在App端实现,图表的tooltip提示框中展示数值的单位.如下图: 二.遇到的问题 1.首先想到的是对tooltip进行相关的设置,然后试了两种方式,都没有效果. (1)设置toolt ...

  7. 2021.09.18-前端-uni-app打包发布后gzip成倍压缩方案

    开局一个引用原文链接:https://blog.csdn.net/qq_43363884/article/details/108195408. 上面此文章讲到自动化压缩并加载的时候解压包. 本文主要介 ...

  8. uni-app打包发布Android版本

    一. 查看编辑代码的HBuilder X工具的版本(帮助 --> 关于) 下载Android离线SDK地址 注意:您下载的Android离线SDK版本需要与你HBuilder X 开发工具一致 ...

  9. echarts图表中显示图例lengend

    legend:{},series: [{name: '成交',type: 'line',data: [10, 12, 21, 54, 260, 830, 710]},{name: '预购',type: ...

最新文章

  1. 编译-C语言库FFTW支持iOS平台的静态库
  2. 蓝桥杯校内模拟值序列
  3. DNN、CNN、RNN、LSTM的区别
  4. mysql 42642 安装报错_1/5 MySQL入门总结:下载安装
  5. 带余除法(信息学奥赛一本通-T1009)
  6. 输出该链表中倒数第k个结点
  7. supervisor管理mysql靠谱吗_Supervisor 从入门到放弃
  8. 30岁以上的女人应选择什么品牌的眼霜?
  9. js离开页面执行函数 onbeforeunload与onunload事件
  10. 《Java程序设计语言(第4版)》阅读笔记(1)
  11. csdn笔记怎么用看这里
  12. 客户端的gzip解压
  13. js采集图片批量下载
  14. TCP/IP详解(全面)
  15. Frida的安装与使用
  16. 编程大实践 数独破解 #Cilay #嵩天
  17. java正则表达式控制格式_“如果Java受到一两个大型供应商的控制,则可能会遭受挫折”...
  18. 风靡厦门的一种游戏你玩过吗?竟然发明者不是郑成功,而另有其人!
  19. 驾考记录之科目三(2021-06-16)(上海旗忠考场)
  20. Leetcode 576. 出界的路径数

热门文章

  1. 惊闻“漫游成本只有一分钱”
  2. 不再盯着男性发烧友,小米手机要去“撩妹”?
  3. 【Unity Shader】渲染纹理实现镜子效果
  4. Detecting Causality in Complex Ecosystems(检测复杂生态系统中的因果关系附件)
  5. 一键体验 Istio
  6. 算法中的数学基础知识
  7. JPA 数据库添加数据报错:Cannot add or update a child row: a foreign key constraint fails
  8. 【操作系统】概念、功能、特征、分类、运行机制、内核、体系结构、中断和异常、系统调用简介
  9. CAD的那些装逼技巧!
  10. ubuntu下adb连接android手机调试