最近在开发时遇到了个小坑,在没详细了解Vue的生命周期前,总以为mounted函数一定会在created函数完成后执行,但实则不然。

如果呈现在页面上的数据是静态的,比如说像下面这样数据是写死不变化的,那么mounted函数中的方法获取模型层中的这些值是能获取的↓

export default {data() {return {dataList: [1,2,3,4,5,6]};},

注意注意注意!但如果大家的模型层数据是从后台动态响应返回的,那么你肯定会遇到这么一个问题,为什么我mounted函数中的方法获取模型层数据是空的了??

经过我查看了:Vue.js 生命周期官方介绍,我才了解到:created和mounted执行时,异步初始化还没执行(还没执行完),也就是created里的数据还没获取到,mounted就开始了渲染视图的工作,那么这时模型层数据肯定就是为空的啦,而mounted只会调用一次,这就陷入了一个死局,mounted永远等不到created获取完数据后在渲染,那么解决的方法就是为mounted中的方法设置一个定时器,因为created获取数据的速度是很快的,我们只用让mounted停那么一丢丢时间就ok了!

解决方法:设定等待一个时间,确保你的初始值都已经被初始化在渲染视图↓

 mounted:function() {setTimeout(() => {this.draw();}, 1000)},

本次分享到此结束,谢谢大家阅读!!
最近忙着各种项目,博客会尽量更新的!!

Vue created/mounted 异步获取不到data中的数据相关推荐

  1. Vue 在beaforeCreate时获取data中的数据

    众所周知,vue在beforecreate时期是获取不到data中的 数据的 但是通过一些方法可以实现在beforecreate时获取到data中的数据 暂时想到两种放发可以实现,vue在before ...

  2. mouted能不能访问data中的数据_Vue(定时器)解决mounted不能获取到data中的数据问题...

    vue中data定义 data() { return { isok:10, } } 在vue中使用定时器 如下 mounted是钩子函数 mounted(){ console.log(this.iso ...

  3. [vue] vue在created和mounted这两个生命周期中请求数据有什么区别呢?

    [vue] vue在created和mounted这两个生命周期中请求数据有什么区别呢? 看实际情况,一般在 created(或beforeRouter) 里面就可以,如果涉及到需要页面加载完成之后的 ...

  4. 谈谈你对生命周期的理解?在created和mounted这两个生命周期中请求数据有什么区别呢?

    一.什么是生命周期? 我理解的生命周期就是:从出生到死亡的过程 二.生命周期有哪些? Vue生命周期总共可以分为8个阶段:创建前后, 载入前后,更新前后,销毁前销毁后 生命周期 描述 beforCre ...

  5. filters获取data中的数据

    第一种方式:申明全局变量,改变this方法. 在对应的组件中申明全局变量 在beforeCreated申明周期中修改this的指向,并在filters中使用.就可以获取data中申明的options数 ...

  6. vue父组件异步获取动态数据传递给子组件获取不到值

    原理: 在父组件中使用axios获取异步数据传给子组件,但是发现子组件在渲染的时候并没有数据,在created里面打印也是空的,结果发现一开始子组件绑定的数据是空的,在请求数据没有返回数据时,子组件就 ...

  7. vue更新data中的数据页面不渲染_vue更新obj类data的属性无效,页面data没刷新解决方法vue.set...

    问题描述 Vue的data使用有坑啊,它不能直接修改创建的对象的属性,例如想要给 user 添加一个 name 属性,值是 Jay . 先来一个添加的错误示例(这是一个大坑,请注意),这样写页面不渲染 ...

  8. 请描述下你对 Vue 生命周期的理解?在 created 和 mounted 这两个生命周期中请求数据有什么区别呢?

    Vue 生命周期总共可以分为8个阶段:初始化前后,挂载前后,更新前后,销毁前后,以及一些特殊场景的生命周期. 一.基本生命周期 生命周期 描述 beforeCreate 组件实例被创建之初 creat ...

  9. Vue生命周期函数异步获取数据时的问题

    由于async await的作用,created生命周期函数会被加入到微任务的事件队列,所以会先继续向下执行其他函数,等执行完了宏任务,最后在执行事件队列中的微任务. beforeCreate() { ...

最新文章

  1. NYOJ-括号配对问题 技巧性的非栈道法
  2. python基础知识整理-python入门基础知识点整理-20171214
  3. java openssl 开发_java openssl
  4. java网络编程udp_Java网络编程之UDP
  5. String.getBytes()和new String()
  6. java lambda 表达式中的双冒号和箭头的用法 ::
  7. 初识C++之函数重载
  8. redis 入门总结
  9. 微信小程序 input隐藏和不可操作的设置
  10. matlab中二阶偏导数,MATLAB中带有两个变量的函数的一阶和二阶偏导数
  11. 边界路由linux,路由表构成简介(Destination/Gateway/Genmask/Iface)
  12. 本周最新文献速递20210718
  13. 病案首页计算机管理系统功能一般不包括,病案管理系统
  14. VMware虚拟机配置IP地址
  15. vector<int> v 与 vector<int> v(n) 的区别
  16. [转载]机器人工程师的漫漫长路
  17. RDKit | 子结构搜索和MCS算法
  18. 计算机毕业设计Java学生网上请假系统(源码+系统+mysql数据库+Lw文档)
  19. CTF:PHP MD5函数0E绕过漏洞
  20. UG10下载的一波三折和教训经验

热门文章

  1. 苹果iOS源代码泄露始末:竟是底层员工所为
  2. 读《软件驱魔》调试和优化遗留代码的艺术
  3. python怎么小数向上取整_python向上取整怎么还有小数部分
  4. CentOS7 安装 yarn
  5. 写在《大国崛起》之后,“中国崛起”之前(一)
  6. 大数据量业务报表实现思考
  7. 对于《叶问3》叶问对张永成讲的最温情的笑话
  8. javascript:echarts 画基金周K线图
  9. 微信能取代对讲机吗?区别在哪?
  10. B2B(B to B) B2C(B to C) C2C(C to C) 的讲解及区别