背景: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中指定初始值,直接画图表,而不是调用画图表这个函数。