关键词搜索

源码搜索 ×
×

前端笔记-Vue cli中使用axios后JavaScript变量传输给vue变量要注意的地方

发布2019-08-13浏览4807次

详情内容

目录

 

 

axios.all中的注意事项

为什么要采用全局的JavaScript变量给vue变量


 

 

axios.all中的注意事项

如下的请求:

  1. methods:{
  2. getData(){
  3. axios.all([
  4. axios.post('/xxxxxxxxxx', qs.stringify({
  5. "xxxxxxxxxx": "xxxxxxxxxx",
  6. "xxxxxxxxxx": "xxxxxxxxxx"
  7. })),
  8. axios.post('/xxxxxxxxxx', qs.stringify({
  9. "xxxxxxxxxx": "xxxxxxxxxx",
  10. "xxxxxxxxxx": "xxxxxxxxxx"
  11. })),
  12. axios.post('/xxxxxxxxxx', qs.stringify({
  13. "xxxxxxxxxx": "xxxxxxxxxx",
  14. "xxxxxxxxxx": "xxxxxxxxxx"
  15. })),
  16. axios.post('/xxxxxxxxxx', qs.stringify({
  17. "xxxxxxxxxx": "xxxxxxxxxx",
  18. "xxxxxxxxxx": "xxxxxxxxxx"
  19. })),
  20. axios.post('/xxxxxxxxxx', qs.stringify({
  21. "xxxxxxxxxx": "xxxxxxxxxx",
  22. "xxxxxxxxxx": "xxxxxxxxxx"
  23. })),
  24. axios.post('/xxxxxxxxxx', qs.stringify({
  25. "xxxxxxxxxx": "xxxxxxxxxx",
  26. "xxxxxxxxxx": "xxxxxxxxxx"
  27. })),
  28. axios.post('/xxxxxxxxxx', qs.stringify({
  29. "xxxxxxxxxx": "xxxxxxxxxx",
  30. "xxxxxxxxxx": "xxxxxxxxxx"
  31. })),
  32. axios.post('/xxxxxxxxxx', qs.stringify({
  33. "xxxxxxxxxx": "xxxxxxxxxx",
  34. "xxxxxxxxxx": "xxxxxxxxxx"
  35. }))
  36. ]).then(axios.spread(function (v1, v2, v3, v4, v5, v6, v7, v8){
  37. tempArray.length = 0;
  38. tempArray.push(v1.xxxxxxxxxx);
  39. tempArray.push(v2.xxxxxxxxxx);
  40. ......
  41. ......
  42. }))
  43. this.xxxxx= tempArray;
  44. }

这里要注意的地方!在then后不能采用this.vue中的变量,不然会报这样的错误!

vue cli Cannot read property 'xxxx' of null

所以得用一个JavaScript变量去接收,但是这个接收也有个坑,再下面将会说明!

 

为什么要采用全局的JavaScript变量给vue变量

代码和上面的一样!增加如下的声明:

  1. <script>
  2. import axios from 'axios'
  3. import qs from 'Qs'
  4. let tempArray = [];
  5. export default {
  6. components:{
  7. .....
  8. .....
  9. },
  10. data(){
  11. return{
  12. dynamicListVue: []
  13. }
  14. },
  15. created() {
  16. this.getData();
  17. },
  18. mounted(){
  19. this.getData();
  20. this.timer = setInterval(this.getData, 5000)
  21. },
  22. methods:{
  23. getData(){
  24. ....
  25. }
  26. },
  27. beforeDestroy() {
  28. clearInterval(this.timer)
  29. }
  30. }
  31. </script>

这里最好是在这个页面的全局下写一个let tempArray = [];

如果在局部写,那么当刷新得到的数据,将会闪烁

闪烁

闪烁

闪烁

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载