真机 request 之后添加数据到 饼图 不显示
[代码]setPie: [代码][代码]function[代码][代码](val) {[代码][代码] [代码][代码]var[代码] [代码]array, colors, context, i, j, k, l, len, n, o, point, radius, ref, ref1, start, total;[代码][代码] [代码][代码]context = wx.createCanvasContext([代码][代码]'pieCanvas'[代码][代码], [代码][代码]this[代码][代码]);[代码][代码] [代码][代码]array = val;[代码][代码] [代码][代码]array = [0, 30, 20, 30, 20];[代码][代码] [代码][代码]colors = [[代码][代码]"#8cd2f4"[代码][代码], [代码][代码]"#c2cd23"[代码][代码], [代码][代码]"#ffe512"[代码][代码], [代码][代码]"#f78f1e"[代码][代码], [代码][代码]"#f05133"[代码][代码]];[代码][代码] [代码][代码]point = {[代码][代码] [代码][代码]x: 150,[代码][代码] [代码][代码]y: 150[代码][代码] [代码][代码]};[代码][代码] [代码][代码]radius = 140;[代码][代码] [代码][代码]total = 0;[代码][代码] [代码][代码]console.log([代码][代码]"array"[代码][代码], val);[代码][代码] [代码][代码]for[代码] [代码](k = 0, len = array.length; k < len; k++) {[代码][代码] [代码][代码]n = array[k];[代码][代码] [代码][代码]total += n;[代码][代码] [代码][代码]}[代码][代码] [代码][代码]for[代码] [代码](i = l = 0, ref = array.length; (0 <= ref ? l < ref : l > ref); i = 0 <= ref ? ++l : --l) {[代码][代码] [代码][代码]context.beginPath();[代码][代码] [代码][代码]start = 0;[代码][代码] [代码][代码]if[代码] [代码](i > 0) {[代码][代码] [代码][代码]for[代码] [代码](j = o = 0, ref1 = i; (0 <= ref1 ? o < ref1 : o > ref1); j = 0 <= ref1 ? ++o : --o) {[代码][代码] [代码][代码]start += array[j] / total * 2 * Math.PI;[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]console.log([代码][代码]"start:"[代码][代码], start, i, array[i]);[代码][代码] [代码][代码]context.arc(point.x, point.y, radius, start, array[i] / total * 2 * Math.PI, [代码][代码]false[代码][代码]);[代码][代码] [代码][代码]context.lineTo(point.x, point.y);[代码][代码] [代码][代码]context.setFillStyle(colors[i]);[代码][代码] [代码][代码]context.fill();[代码][代码] [代码][代码]context.closePath();[代码][代码] [代码][代码]}[代码][代码] [代码][代码]return[代码] [代码]context.draw();[代码][代码] [代码][代码]},[代码] 如果 val 是 request 回来的的数组真机上就不显示饼图, 但是如果是自定义的数据(和 request 返回回来的一模一样) 就显示. 模拟器没问题, 真机有问题.