小程序在开发工具中调试没有问题、开发工具的预览模式也没有问题。但是真机调试就报错了。我的手机是苹果。报错的页面中使用到了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
*/
哦,我在echarts找到问题了。调试的时候加上这句,就好了。发布的时候去掉。
force-use-old-canvas="true"
canvas真机调试就会报错的,一直都有这问题