Babel + JSX
new Vue({
el: '#app',
data () {
this.chartSettings = {
showMA: true,
MA: [1, 2],
area: true
}
this.chartExtend = {
legend (l) {
l.data.push('MA10')
return l
},
series: (items) => {
console.log(JSON.parse(JSON.stringify(items)))
const result = []
const chartData = this.chartData.rows
let dayCount = 10
for (let i = 0, len = chartData.length; i < len; i++) {
if (i < dayCount) {
result.push('-');
continue;
}
let sum = 0;
for (let j = 0; j < dayCount; j++) {
sum += chartData[i - j].close
}
result.push(+(sum / dayCount).toFixed(3));
}
items.push({
type: 'line',
name: `MA${dayCount}`,
data: result
})
console.log(items)
return items
}
}
return {
chartData: {
columns: ['日期', 'open', 'close', 'lowest', 'highest', 'vol'],
rows: [
{ '日期': '2004-01-05', open: 10411.85, close: 10544.07, lowest: 10411.85, highest: 10575.92, vol: 221290000 },
{ '日期': '2004-01-06', open: 10543.85, close: 10538.66, lowest: 10454.37, highest: 10584.07, vol: 191460000 },
{ '日期': '2004-01-07', open: 10535.46, close: 10529.03, lowest: 10432.12, highest: 10587.55, vol: 225490000 },
{ '日期': '2004-01-08', open: 10530.07, close: 10592.44, lowest: 10480.59, highest: 10651.99, vol: 237770000 },
{ '日期': '2004-01-09', open: 10589.25, close: 10458.89, lowest: 10420.52, highest: 10603.48, vol: 223250000 },
{ '日期': '2004-01-12', open: 10461.55, close: 10485.18, lowest: 10389.85, highest: 10543.03, vol: 197960000 },
{ '日期': '2004-01-13', open: 10485.18, close: 10427.18, lowest: 10341.19, highest: 10539.25, vol: 197310000 },
{ '日期': '2004-01-14', open: 10428.67, close: 10538.37, lowest: 10426.89, highest: 10573.85, vol:...