vue项目记录

121 阅读1分钟
seeShare(){
   let routeUrl = this.$router.resolve({
     path: "/share",
     query: {id:96}
   });
   window.open(routeUrl.href, '_blank');
}

  • 设置对象的新属性没有响应式

vue中data中定义的数据,都被赋予了getter和setter,当你要给对象添加新的属性的时候,或者你在其他地方直接this.出来的变量,是没有getter和setter属性的。

解决方法:

  1. vm.$set(vm.arr,index,newVal)
this.$set(this.obj,xxx属性,xxxx值)
https://blog.csdn.net/Oralinge/article/details/103567230

如果第一种方法依然没有起作用,打开debugger发现数组的值修改成功,没有渲染到页面上是数据层次太多,没有触发render函数进行自动更新,需手动调用,调用方式如下:

  1. vm.$forceUpdate() blog.csdn.net/meng_csdn_/…

echarts点击柱状图跳转带点击柱状图的参数 blog.csdn.net/weixin_4206…

 var t = document.getElementById("cardChart");
    t.style.width = window.offsetWidth + "px";
    var cardChart = echarts.init(t),
                options = {
                    color: ['#3398DB'],
                    title: {
                        left: "right",
                        //text: new Date().getFullYear() + "年数据",
                        textStyle: {
                            color: "#2c2c2c",
                            fontSize: 14,
                            fontWeight: 500
                        }
                    },
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {            // 坐标轴指示器,坐标轴触发有效
                            type: 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
                        }
                    },
                    grid: {
                        left: '3%',
                        right: '4%',
                        bottom: '3%',
                        containLabel: true
                    },
                    xAxis: [{
                        type: "category",
                        data: dataYearCountName,
                        axisTick: {
                            alignWithLabel: true
                        },
                        axisLabel: {
                            interval: 0,    //强制文字产生间隔
                            rotate: 45,     //文字逆时针旋转45°
                            textStyle: {    //文字样式
                                color: "black",
                                fontSize: 14,
                                fontFamily: 'Microsoft YaHei'
                            }
                        }
                    }],
                    yAxis: [
                            {
                                type: "value"
                            }
                        ],
                    series: [
                            {
                                name: "例数",
                                type: "bar",
                                barWidth: "60%",
                                data: dataYearCountNum
                            }
                    ]
        };

    //-----------------从这里开始 -----------------
    //cardChart 柱状图名称
    cardChart.setOption(options);
    cardChart.off('click'); //防止触发两次点击事件
    cardChart.getZr().on('click', (params) => {
        let pointInPixel = [params.offsetX, params.offsetY];
        if (cardChart.containPixel('grid', pointInPixel)) {
            let pointInGrid = cardChart.convertFromPixel({
                seriesIndex: 0
            }, pointInPixel);
            let xIndex = pointInGrid[0]; //索引
            let handleIndex = Number(xIndex);
            let seriesObj = cardChart.getOption(); //图表object对象
            var op = cardChart.getOption();
            //获得图表中点击的列
            var month = op.xAxis[0].data[handleIndex];  //获取点击的列名 报错了
            var edata = seriesObj.dataset[0].source[handleIndex] //自己写的 
            console.log(month);
            console.log(handleIndex, seriesObj);
        };
    });


ECharts 坐标轴文字显示不全(倾斜处理)

blog.csdn.net/weixin_3941…