// echart图表环形图配置
// 封装echarts圆环百分比图示
function _PercentPie (options) {
this.backgroundColor = options.backgroundColor || '#fff'
this.color = options.color
this.fontSize = options.fontSize || '14px'
this.domEle = options.domEle //必传参数
this.value = options.value
// 判断项目状态
this.ProjectStatus = function () {
var _status
switch (this.value){
case 0:
return _status = '终止'
break;
case 100:
return _status = '已完成'
break;
default:
return _status = `${this.value}%`
}
}
}
_PercentPie.prototype.init = function () {
// this指代当前实例化的图表
var _that = this
var options = {
color:_that.color,
// 图形是否不响应和触发鼠标事件,默认为 false,即响应和触发鼠标事件
silent:true,
hoverAnimation:false,
series: [
{
type:'pie',
radius: ['80%', '100%'],
hoverAnimation:false,
label: {
show: true,
position: 'center',
animation: false
},
data:[
{value: _that.value,name:_that.ProjectStatus()},
{value:100,name:''},
]
}
]
}
// 挂载echart
echarts.init(_that.domEle).setOption(options);
}
// 实例化百分比图表 封装在立即执行函数中
(function(){
var chart = document.querySelectorAll('.chart');
var length = chart.length
// 配置数据项
var data = [
{ringColor: ["#0099FF",'#F0F2F5'],value:40},
{ringColor: ["#0099FF",'#F0F2F5'],value:50},
{ringColor: ["#FF0000",'FF0000'],value:0},
{ringColor: ["#00B200",'#00B200'],value:100}
]
for (let i = 0; i < data.length; i++) {
var _percentPie = new _PercentPie({
color: data[i].ringColor,
value: data[i].value,
domEle:chart[i]
});
// 初始化配置
_percentPie.init();
}
}())
为什么这个init方法报错了 ,not function? 期望大佬解惑
因为你这块的代码没有执行!
放在立即执行函数里就可以了