小程序真机调试报错:TypeError: U.createEvent is not a funct?
发布于 5 年前 作者 yyu 14499 次浏览 来自 问答

小程序在开发工具中调试没有问题、开发工具的预览模式也没有问题。但是真机调试就报错了。我的手机是苹果。报错的页面中使用到了echarts图表组件。

具体代码如下:

import * as echarts from '../../ec-canvas/echarts';
let mydata= [{
  value: 17,
  name: 'I \n 17%'
}, {
  value: 17,
  name: 'S \n 17%'
}, {
  value: 28,
  name: 'C \n 28%'
}, {
  value: 39,
  name: 'D \n 39%'
}];
let chart = null;

function initChart(canvas, width, height, dpr{
  const chart = echarts.init(canvas, null, {
    width: width,
    height: height,
    devicePixelRatio: dpr // new
  });
  canvas.setChart(chart);

  var option = {
    series: [{
      label: {
        normal: {
          fontSize: 14
        }
      },
      type'pie',
      center: ['50%''50%'],
      radius: ['20%''40%'],
      data:mydata
    }]
  };

  chart.setOption(option);
  return chart;
}

Page({

  /**
   * 页面的初始数据
   */
  data: {
    iscd:{
      d:{number:0,percent:0},
      c:{number:0,percent:0},
      i:{number:0,percent:0},
      s:{number:0,percent:0},
    },
    ec: {
      onInit: initChart
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options{
    let d=wx.getStorageSync('D');
    let c=wx.getStorageSync('C');
    let i=wx.getStorageSync('I');
    let s=wx.getStorageSync('S');
    this.setData({
      iscd:{
        d:{number:d,percent:((d/18).toFixed(2)*100).toString().substring(0,2)},
        c:{number:c,percent:((c/18).toFixed(2)*100).toString().substring(0,2)},
        i:{number:i,percent:((i/18).toFixed(2)*100).toString().substring(0,2)},
        s:{number:s,percent:((s/18).toFixed(2)*100).toString().substring(0,2)},
      }
    })
    mydata= [{
      value: this.data.iscd.i.number,
      name: 'I \n '+this.data.iscd.i.percent+'%'
    }, {
      value: this.data.iscd.s.number,
      name: 'S \n '+this.data.iscd.s.percent+'%'
    }, {
      value: this.data.iscd.c.number,
      name: 'C \n '+this.data.iscd.c.percent+'%'
    }, {
      value: this.data.iscd.d.number,
      name: 'D \n '+this.data.iscd.d.percent+'%'
    }];
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
   
   
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})

/**
 * echarts 小程序图表 https://github.com/ecomfe/echarts-for-weixin
 * 参考文档:https://www.cnblogs.com/yang-2018/p/11076629.html
 * https://www.cnblogs.com/wukongz/p/13267498.html
*/
2 回复

哦,我在echarts找到问题了。调试的时候加上这句,就好了。发布的时候去掉。

force-use-old-canvas="true"

canvas真机调试就会报错的,一直都有这问题

回到顶部