vue echarts内部this指向问题

news/2024/10/30 9:29:41/

今天遇到一个很讨人厌的问题,
this.tChartInstance = echarts.init(document.getElementById(‘ChartDom’), null, {
width: 700,
height: 500
});
一直报Uncaught TypeError: Cannot read property ‘getAttribute’ of null错
然后发现console.log(‘dom’,document.getElementById(‘ChartDom’))打印结果是null,
就添加了延时

setTimeout(() => {// console.log('dom',document.getElementById('ChartDom'))this.tChartInstance = echarts.init(document.getElementById('ChartDom'), null, {width: 700,height: 500});this.tChartInstance .setOption(ringChartOption);
}, 0);

console.log(‘dom’,document.getElementById(‘ChartDom’))输出还是null
强制刷新会报:this.$forceUpdated is not a function

桥豆麻袋…由于这个echart放在一个dialog里面,但这个dialog根本没有打开,虽然打印this.reasonSortDialog结果确实是true,但是没有显示

item.instance.on('click', async (params) => {this.reasonSortDialog = true// console.log('打开模态框',this.reasonSortDialog)setTimeout(() => {// console.log('dom',document.getElementById('ChartDom'))this.tChartInstance = echarts.init(document.getElementById('ChartDom'), null, {width: 700,height: 500});this.tChartInstance.setOption(ringChartOption);}, 0);
});

so……让我们把问题聚焦到this.reasonSortDialog = true,
果然,console.log(this)发现这里的this指向的不是vue实例,而是里面的echart,所以他并不知道reasonSortDialog是个模态框,强制更新也会报错

解决方式:

const vue = {data() {},computed: {},watch: {},mounted() {},methods: {initCharts() {......const vue = this......item.instance.on('click', async (params) => {vue.reasonSortDialog = truesetTimeout(() => {this.tChartInstance= echarts.init(document.getElementById('ChartDom'), null, {width: 700,height: 500});this.tChartInstance.setOption(ringChartOption);}, 0);});......},}
}
export default vue

这样一来,用vue指向export default,就不会跟内部的this指向混淆啦
这里是vue2,vue3不会出现指向性问题

题外话,当今时代,要一个人从另一个人的世界里消失非常简单


http://www.ppmy.cn/news/307072.html

相关文章

名帖39 席夔 隶书《千字文》

《中国书法名帖目录》 【释文】 天地玄黄 宇宙洪荒 日月盈昃 辰宿列张 寒来暑往 秋收冬藏 闰余成岁 律吕调阳 云腾致雨 露结为霜 金生丽水 玉出昆冈 剑号巨阙 珠称夜光 果珍李柰 菜重芥姜 海咸河淡 鳞潜羽翔 龙师火帝 鸟官人皇 始制文字 乃服衣裳 推位让国 有虞陶唐 吊民…

名帖209 赵孟頫 行书《千字文》

《中国书法名帖目录》 赵孟頫《行书千字文》,绢本,纵26.5cm*横373.4cm,现藏于故宫博物院。引首系明代徐霖篆书“松雪千文”四个大字,卷后有元从张雨、赵雍、赵奕、黄公望,明代莫云卿、张湘詹景凤、徐霖等众人跋文。 …

名帖254 文徵明 行书《独乐园记、独乐园七咏、独乐园诗》

《中国书法名帖目录》 两个版本都很精彩。 版本一:独乐园记 独乐园七咏 东坡独乐园诗 文徵明行书长卷《独乐园记》,书于明嘉靖戊午闰七月既望,时文徵明89岁,纸本墨笔,台北故宫博物院藏。 此幅以王蒙笔法画司马光…

名帖347 怀素 草书《大草千字文》

《中国书法名帖目录》 怀素(725-785),唐代书法家,字藏真,俗姓钱,湖南零陵(湖南零陵)人。他的草书称作“狂草”,在书法史上领一代风骚,与唐代另一草书家张旭齐…

画论29 刘道醇《宋朝名画评》

【中国历代画论目录】 目录 序 卷一 人物门第一 卷二 山水林木门第二 畜兽门第三 卷三 花竹翎毛门第四 鬼神门第五 屋木门第六 序 夫识画之诀,在乎明六要而审六长也。所谓六要者,气韵兼力一也,格制俱老二也,变异合理三…

SpringMVC框架中@Controller类的方法的返回值的详细介绍

目录 前言 1. 返回值类型为ModelAndView 2. 返回值为String(视图) 3. 返回值为void 4. 返回值为Object 5. 返回值为List<> 6. 返回值为String(数据) 前言 在SpringMVC框架中&#xff0c;我们最常见的就是Controller注解&#xff0c;可以说是只要见到了Controll…

名帖349 孙过庭 草书《千字文》

《中国书法名帖目录》 孙过庭&#xff0c;是我国唐朝时著名书法大家&#xff0c;书学理论家。其好古博雅&#xff0c;天赋异禀&#xff0c;书法始化于“二王”&#xff0c;并深得精髓&#xff0c;临摹古帖小字足以迷乱羲、献&#xff0c;几近以假乱真。 《千字文》是其38岁时…

画论17 邓椿《画继》

【中国历代画论目录】 目录 序 卷一 圣艺 ○徽宗皇帝 卷二 卷三 ○轩冕才贤 ○岩穴上士 卷四 卷五 ○道人衲子 ○世胄&#xff08;妇女、宦者附&#xff09; 卷六 ○仙佛鬼神 ○人物传写 ○山水林石 ○花竹翎毛 卷七 ○畜兽虫鱼 ○屋木舟车 ○蔬果药草 …