当前位置: 首页 > news >正文

坪山网站建设设计神马快速排名优化工具

坪山网站建设设计,神马快速排名优化工具,音乐盒的网站怎么做,自己的网站如何做推广问题是后端的数据已经成功返回到前端了,但是Echarts图表一直不能被渲染,卡了一个多小时,最后问gpt才解决(gptyyds!!!) methods: {loadGet() {this.$axios.get(this.$httpUrl /goods…

问题是后端的数据已经成功返回到前端了,但是Echarts图表一直不能被渲染,卡了一个多小时,最后问gpt才解决(gptyyds!!!)

 methods: {loadGet() {this.$axios.get(this.$httpUrl + '/goods/count').then(res => res.data).then(res => {console.log(res)// this.cntdata = res.dataif (res.code == 200) {// this.yData = res.data// this.cntData.length=0;for (let i = 0; i < res.data.length; i++) {this.cntData.push(res.data[i]);}console.log("data = =" + this.cntData + res.data.length)this.$message({message: '操作成功!',type: 'success'});} else {this.$message({message: '操作失败!',type: 'error'});}})},init() { //调用session中的用户数据this.user = JSON.parse(sessionStorage.getItem('CurUser'))},initEcharts() {let option = {title: {text: "现存物资量"},tooltip: {},legend: {data: [""]},xAxis: {data: ["鼠标", "帐篷", "键盘", "口罩", "矿泉水", "棉被"]},yAxis: {},series: [{name: "发放量",type: "bar", //类型为柱状图// data: [5, 20, 36, 10, 10, 20]data: this.cntData  //问题出在这 data一直不能被后端返回的this.cntData渲染!}]};const myChart = echarts.init(this.$refs.mychart);// 图标初始化myChart.setOption(option);// 渲染页面//随着屏幕大小调节图表window.addEventListener("resize", () => {myChart.resize();});},},created() {this.init()}
}
</script>

原文:

我:这份代码中ECharts图标中的 series 中的data无法被后端传来的数据渲染怎么办
gpt:
在你提供的代码中,ECharts 图表的数据被初始化为 this.cntData,但 this.cntData 在组件创建时是一个空数组。要使图表能够根据后端传来的数据进行渲染,你需要确保在数据加载完成后再初始化图表。
为了实现这一点,你可以在 loadGet 方法成功获取数据后调用 initEcharts 方法来初始化图表。这确保了数据已经准备好并且可以在图表中使用。下面是修改后的代码片段:

methods: {loadGet() {this.$axios.get(this.$httpUrl + '/goods/count').then(res => res.data).then(res => {console.log(res);if (res.code === 200) {this.cntData = res.data; // 将数据赋值给 cntDatathis.initEcharts(); // 初始化图表 !!!!!!这里!this.$message({message: '操作成功!',type: 'success'});} else {this.$message({message: '操作失败!',type: 'error'});}});},initEcharts() {let option = {// ... 其余图表配置 ...series: [{name: "发放量",type: "bar", //类型为柱状图data: this.cntData // 使用从后端获取的数据}]};const myChart = echarts.init(this.$refs.mychart);myChart.setOption(option);window.addEventListener("resize", () => {myChart.resize();});},// ... 其他方法 ...
},

我:其中的mounted方法是先于beforeMount运行的吗
gpt:不对,beforeMount 方法在 mounted 方法之前执行。Vue.js 生命周期中的顺序是如下的:

beforeCreate: 在实例初始化之后,数据观测 (data observation) 和事件配置 (event/watcher
setup) 之前被调用。这时实例还没有初始化完成,数据和事件方法尚不可用。

created: 在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测(data
observation),属性和方法的运算,watch/event事件回调。然而,挂载阶段还没开始,DOM 元素也还没有被创建。

beforeMount: 在挂载开始之前被调用:相关的 render 函数首次被调用。

mounted: el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。

所以,beforeMount 在 mounted 之前执行,它们分别位于 Vue 实例生命周期的不同阶段。
–没看懂。。。。


我:那为什么this.cntData不能去填充图标的data

gpt: 问题可能是由于异步操作的原因。在你的代码中,loadGet 方法通过异步请求从后端获取数据,并在获取数据后调用initEcharts 方法。然而,由于异步请求的性质,initEcharts 方法可能在数据还没有获取到时就被调用了,导致 this.cntData 仍然是空数组。

要解决这个问题,你可以确保在数据成功获取后再调用 initEcharts 方法。你已经在 loadGet
方法中进行了这个调用,但是需要注意确保数据获取成功后才执行这个调用。


看懂了好像…

http://www.tj-hxxt.cn/news/73037.html

相关文章:

  • 上海建站模板搭建福州seo推广公司
  • 做网站要排版吗大连企业网站建站模板
  • 厦门网站建设制作多少钱运营和营销的区别和联系
  • 网站服务器怎么维护安徽seo顾问服务
  • 怎么做自动发卡网站推广搜索怎么选关键词
  • 芜湖哪里有做网站的广西seo关键词怎么优化
  • 一台服务器如何做两个网站在线识别图片找原图
  • 查企业数据要去什么网站北京优化靠谱的公司
  • 网站后台字体安装2022年十大网络流行语发布
  • 精品资源共享课程网站建设论文手机关键词seo排名优化
  • php网页制作实例临沂seo优化
  • wordpress站群代关键词简谱
  • 中企动力做的网站升级收费疫情最新官方消息
  • mac运行wordpress武汉seo首页优化报价
  • 管理软件网站模板太原seo顾问
  • 阿里巴巴网站中详情页怎么做石家庄网站建设seo
  • 甘肃 网站建设上海seo优化
  • 可信网站网站认证看广告收益最高的软件
  • 网站建设价格怎么算百度seo网站优化 网络服务
  • win7系统做网站服务器系统说说刷赞网站推广
  • 网站托管好吗企业关键词优化公司
  • 北京营销型网站建设哪家好关键字挖掘爱站网
  • 陶瓷行业网站建设招标书网络营销的概述
  • 开发定制网站公司外贸海外推广
  • 买好域名之后怎么做网站俄罗斯搜索引擎浏览器官网入口
  • 商城网站免费模板长春网络营销公司
  • wordpress 手机 自建站朋友圈广告投放价格表
  • wordpress 注册用户列表重庆关键词优化软件
  • 网站建设 学习什么百度网站快速优化
  • wordpress 分类 cssseo线下培训课程