- 61
- 0
echart写在一个对话框里,然后下面这句就是报错,写了各种方式都取不到his.$refs.myEchart2应该是页面渲染没好的感觉。let myChart = echarts.init(this.$refs.myEchart2);以下是完整代码<template> <div class="hello"> <button @click="selectTag(1,1)">1111</button> <el-dialog title="概况" class="myD" :visible.sync="dialogVisible2" width="60%"> <span slot="title"><b class="myD-title"><i class="el-icon-data-analysis"></i> 概况</b> </span> <span slot> <p style="text-align: left;font-size: 30px;">{{map.description}}</p> <div> <el-row :gutter="20"> <el-col :span="12"> <el-card header="车辆类型统计" style="font-weight: bold;"> <div ref="myEchart1" style="height: 350px;"> </div> </el-card> </el-col> <el-col :span="12"> <el-card header="车辆出租状态统计" style="font-weight: bold;"> //echart要再这里显示 <div ref="myEchart2" id="mychart3" style="height: 350px;"> </div> </el-card> </el-col> </el-row> </div> </span> <span slot="footer" class="dialog-footer"> <el-button class="myDB" type="primary" @click="dialogVisible2 = false">关 闭</el-button> </span> </el-dialog> </div></template><script> var echarts = require('echarts'); export default { name: 'ok', props: { msg2: Array }, data() { return { //changValue: 0, tag_cat: [], dialogVisible2: false, nowWidth: 30, nowHeight: 30, nowIndex: 0, tagAll: [], map: { id: 'ID', description: '描述', }, }; }, created() { }, mounted() { ///////////////////////// // 下面主要测试代码 // //////////////////////// //1.这样写拿不到this.$refs setTimeout(() => { console.log(this.$refs.myEchart2) }, 10000); //2.这样写拿不到this.$refs console.log(this.$refs.myEchart2); this.$nextTick(() => { //3.这样写拿不到this.$refs console.log(this.$refs.myEchart2); let myChart = echarts.init(this.$refs.myEchart2); let option = { tooltip: { trigger: 'item', formatter: '{a} <br/>{b} : {c} ({d}%)' }, legend: { bottom: 10, left: 'center', data: ['已出租', '未出租', '已预约'] }, series: [{ name: '车辆出租状态', type: 'pie', radius: '55%', center: ['50%', '40%'], data: [{ value: 11, name: '已出租' }, { value: 22, name: '未出租' }, { value: 33, name: '已预约' } ], emphasis: { itemStyle: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } }] }; myChart.setOption(option); }); }, watch: {}, methods: { selectTag(did, type) { if (type == '1') { this.dialogVisible2 = true; this.$options.methods.selectMap(did, type, this); } }, selectMap: function(e, type, that) { this.dialogVisible2 = true; }, }, }</script><style scoped></style>补充一点:是首次打开页面的时候显示不了
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
肥鲇鱼 普通会员 1楼
在 Vue 2 中,ECharts 不是默认的图表库。如果你在 Vue 2 中尝试使用 ECharts,可能会出现以下问题:
- 引入问题:在 Vue 2 中,你需要在你的组件中引入 ECharts,而不是使用它作为全局组件。这通常可以通过在你的
index.js文件中添加以下代码来实现:
javascript import echarts from 'echarts';- 设置问题:ECharts 的配置可能需要在
app.js或pages/index.vue文件中进行设置。你需要确保在设置图表选项时包含了图表库的名称。例如:
```javascript import ECharts from 'echarts'; import 'echarts/dist/echarts.css'; import myChart from './components/myChart.vue';
// 在 app.js 中设置 ECharts window.onload = function () { ECharts.use('echarts').init(document.getElementById('container')); }; ```
- 安装问题:如果你在尝试安装 ECharts,但仍然无法正常显示,你可能需要检查你的npm包是否正确安装。你可以使用以下命令进行检查:
bash npm list echarts如果
echarts没有在你的node_modules文件夹中,你需要先将其添加到你的项目中。-
环境问题:ECharts 需要一个支持其使用的 JavaScript 引擎。在 Vue 2 中,你需要确保你的项目使用的是 Node.js。如果使用的是其他引擎,ECharts 可能无法正常工作。
-
组件问题:如果你的组件没有正确引入 ECharts,或者 ECharts 在组件中无法正常渲染,你可能需要检查你的组件的代码。确保你的组件已经正确引入了 ECharts,并且 ECharts 在组件中已经正确渲染。
如果你仍然无法解决这些问题,你可能需要寻求 Vue.js 的社区帮助。
- 引入问题:在 Vue 2 中,你需要在你的组件中引入 ECharts,而不是使用它作为全局组件。这通常可以通过在你的
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

