鍍金池/ 問答/HTML/ vue data中變量拼接的問題

vue data中變量拼接的問題

        data{
            return{
                successData1: [],
                failData1: [],
                dataTime1: {},

                successData2: [],
                failData2: [],
                dataTime2: {},

                successData3: [],
                failData3: [],
                dataTime3: {},

                successData4: [],
                failData4: [],
                dataTime4: {}
            }
       }
                        let dataModel = (id, i) => {
                            let j=i+1
                            echarts.init(document.getElementById(id + i)).setOption({
                                tooltip: {
                                    trigger: 'axis',
                                    axisPointer: {            
                                        type: 'shadow'     
                                    }
                                },
                                legend: {
                                    data: ['成功數(shù)', '失敗數(shù)']
                                },
                                grid: {
                                    left: '3%',
                                    right: '4%',
                                    bottom: '3%',
                                    containLabel: true
                                },
                                yAxis: {
                                    type: 'value'
                                },
                                xAxis: {
                                    type: 'category',
                                    data: this.dataTime+j[i]   <----這個如何拼接
                                },
                                series: [
                                    {
                                        name: '成功數(shù)',
                                        type: 'bar',
                                        stack: '總量',
                                        label: {
                                            normal: {
                                                show: true,
                                                position: 'insideRight'
                                            }
                                        },
                                        data:this.'successData'+j[i] <----這個如何拼接
                                    },
                                    {
                                        name: '失敗數(shù)',
                                        type: 'bar',
                                        stack: '總量',
                                        label: {
                                            normal: {
                                                show: true,
                                                position: 'insideRight'
                                            }
                                        },
                                        data: `this.failData${j}[${i}]` <----這個如何拼接
                                    }
                                ]
                            });
                        }
                        
              
             for (let i = 0; i < this.channelInfoSave.length; i++) {
                  dataModel ('XXXid',i)
             }

由于有好幾個類似的圖,我就獨立出來個方法,但是這個變量怎么拼呢?我上邊寫的嘗試都不正確

回答
編輯回答
兔寶寶

既然有類似的圖,你何不把這些寫成組件呢 參考

2018年8月5日 16:25
編輯回答
別硬撐

這樣拼接:

`${this.dataTime[j][i]}`

建議好好了解js基礎(chǔ)和es6的模板字符串。

希望我的回答可以幫助到你,謝謝。

2018年4月5日 08:18
編輯回答
離夢
data: this['successData'+j][i]

使用模板字符串

data: this[`successData${j}`][i]
2018年8月30日 06:45