vue 解决异步数据更新问题


Posted in Javascript onOctober 29, 2019

问题

记录一下出现的问题, 数据翻倍

这是复现问题的代码

data() {
  return {
   space: "",
   allresult: []
  };
 },
 methods: {
  getmessage() {
   this.allresult = [];
   axios
    .get(
     "https://gist.githubusercontent.com/xiaolannuoyi/9b0defe4959e71fa97e6096cc4f82ba4/raw/4be939123d488cee7ecefc055fb5ecb2ed8d5c8d/test"
    )
    .then(data => {
     console.log(data);
     let result = data.data;
     for (let i = 0; i < result.length; i++) {
      //原因在于这里的this.Allresult
      this.allresult.push({
       id: result[i].id,
       name: result[i].name,
       age: result[i].age
      });
      
     }
      console.log('此时的this.allresult',this.allresult);
    });
  }
 },
 watch: {
  space() {
   console.log("watch");
   this.getmessage();
  }
 },
 mounted() {
  this.space = "123";
  console.log("mounted");
  this.getmessage();
 }

结果

vue 解决异步数据更新问题

此时你可以看到第二次的数据时 是 第一次的 2倍

原因

mounted 和 watch 都执行 getmessage 方法,虽然方法之前 对数据进行了清空,但是 异步请求执行的慢,

所以两次调用getmessage相当于 this.allresult = []; this.allresult = []; axios...;axios....: 这个顺序

所以才会出现上述现象

解决

1.修改this.allresult = []的位置

vue 解决异步数据更新问题

2.新建一个临时空数组

vue 解决异步数据更新问题

以上这篇vue 解决异步数据更新问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jquery实现点击左右按钮图片横向滚动
Apr 11 Javascript
自己封装的常用javascript函数分享
Jan 07 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
Dec 26 Javascript
jquery ajax结合thinkphp的getjson实现跨域的方法
Jun 06 Javascript
微信小程序 实现拖拽事件监听实例详解
Nov 16 Javascript
iscroll实现下拉刷新功能
Jul 18 Javascript
web前端vue之CSS过渡效果示例
Jan 10 Javascript
VUE2.0中Jsonp的使用方法
May 22 Javascript
layui下拉列表select实现可输入查找的方法
Sep 28 Javascript
JS简单表单验证功能完整示例
Jan 26 Javascript
Vue鼠标滚轮滚动切换路由效果的实现方法
Aug 04 Vue.js
JavaScript声明变量和数据类型的转换
Apr 12 Javascript
VUE实现强制渲染,强制更新
Oct 29 #Javascript
js实现贪吃蛇小游戏
Oct 29 #Javascript
浅谈vue异步数据影响页面渲染
Oct 29 #Javascript
详解vue中多个有顺序要求的异步操作处理
Oct 29 #Javascript
vue实现设置载入动画和初始化页面动画效果
Oct 28 #Javascript
vue设置一开始进入的页面教程
Oct 28 #Javascript
Vue调用后端java接口的实例代码
Oct 28 #Javascript
You might like
《PHP边学边教》(01.开篇――准备工作)
2006/12/13 PHP
phpMyAdmin2.11.6安装配置方法
2008/08/24 PHP
php获得用户ip地址的比较不错的方法
2014/02/08 PHP
从wamp到xampp的升级之路
2015/04/08 PHP
做网页的一些技巧(续)
2007/02/01 Javascript
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
js原生appendChild的bug解决心得分享
2013/07/01 Javascript
很不错的两款Bootstrap Icon图标选择组件
2016/01/28 Javascript
Webwork 实现文件上传下载代码详解
2016/02/02 Javascript
BootStrap 可编辑表Table格
2016/11/24 Javascript
vue.js单页面应用实例的简单实现
2017/04/10 Javascript
vue 点击按钮实现动态挂载子组件的方法
2018/09/07 Javascript
Node登录权限验证token验证实现的方法示例
2020/05/25 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
Python3使用requests发闪存的方法
2016/05/11 Python
Python导入模块时遇到的错误分析
2017/08/30 Python
python超时重新请求解决方案
2019/10/21 Python
django 简单实现登录验证给你
2019/11/06 Python
解决Python中回文数和质数的问题
2019/11/24 Python
关于python 跨域处理方式详解
2020/03/28 Python
Python Tkinter图形工具使用方法及实例解析
2020/06/15 Python
python上selenium的弹框操作实现
2020/07/13 Python
Python命令行参数argv和argparse该如何使用
2021/02/08 Python
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(一)
2013/01/21 HTML / CSS
应届毕业生个人自荐信范文
2013/11/30 职场文书
上课说话检讨书大全
2014/01/22 职场文书
请假条的格式
2014/04/11 职场文书
家长通知书家长评语
2014/04/17 职场文书
小学兴趣小组活动总结
2014/07/07 职场文书
十佳少先队员演讲稿
2014/09/12 职场文书
2014年销售员工作总结
2014/12/01 职场文书
单位考核聘任报告
2015/03/02 职场文书
2015年测量员工作总结
2015/05/23 职场文书
升学宴学生致辞
2015/09/29 职场文书
创业计划书之服装
2019/10/07 职场文书