Vue created/mounted 获取不到data中的数据

背景:select下拉栏中的选项数据由异步请求获得。

现在想进入这个页面,就获得select下拉框的初始默认选中数据。(因为想根据这个初始化图表)

我在created里,通过调用3个异步请求的函数,分别获得了每个下拉框的内容。这三个异步请求的函数,分别初始化了下拉框的所有选项(假设数组L1)和默认选中值(假设L1_Selected),

在create里打印this

可以看到this指向的Vue实例,这些值都是存在的。(L1的值,和L1_Selected的值都有,是异步请求获得的数据)

但是this.L1, this.L1_Selected是获取不到的,console.log出来都是空

原因:created和mounted执行,异步初始化还没执行,但是为什么create里打印this都可以看到呢?

https://www.jianshu.com/p/aca5b1b4b0a4

https://segmentfault.com/a/1190000011381906

如果在create中发送同步请求,不是调用3个异步请求函数,也许可以实现,但是有点麻烦。(因为下拉框联动,这三个异步请求函数有调用顺序)

vue实现同步请求:https://segmentfault.com/q/1010000013144644/

最后解决办法,在created/mounted中指定初始值,直接画图表,而不是调用画图表这个函数。

发布了71 篇原创文章 · 获赞 17 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/carlylll/article/details/105124084