点击打印按钮,第一次获取不到数据,一定要第二次才能获取到数据------this.$nextTick()

 (第一次分享,还有点小忐忑,如果哪里说的不对,请及时纠正哦~~)

 ----------------------------------------------------------------------------------------------

 我写了一个打印按钮,点击按钮时会弹出打印框显示四张表格以及表格里面的数据(数据是后端传过来的),我本来是这样写的(如下图),如果是顺序执行 ,我这样写会倒置先打印后获取数据,就会造成的我表格获取不到数据。

---------------------------------------------------------------------------------------------------------------------------------

    然后,我把它们的位置互换了,发现第一次点还是获取不到数据,一定要第二次点才可以获取到。噢!原来axios 是异步(简而言之就是不按顺序执行)。

     所以我的理解是:当getList()在获取数据的时候,我的打印事件也执行了,所以我第一次获取不到数据,当我第二次点击打印按钮的时候(也就是在第一次getList()获取到数据之后),我就能获取到数据。

---------------------------------------------------------------------------------------------------------------------------------

    后来,我就在getList()里使用了 this.$nextTick()方法,在数据获取完之后立即执行打印事件,在print事件里调用getList(),然后就实现了第一次点击就能获取到数据啦。

 总结:更改数据后当你想立即使用js操作新的视图的时候就使用this.$nextTick()

---------------------------------------------------------------------------------------------------------------------------------

提出一个问题:我在created和mounted里调用getList()的时候,会报“数据不存在的错”,请问这是为什么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值