当前位置:   article > 正文

使用axios发送ajax请求_把axios的fromdata传值变成ajax一样

把axios的fromdata传值变成ajax一样

假如我们页面中有许多个组件组成,每个组件都有自己的json数据,如果每个组件都单独请求一个ajax,那么整个页面就会发送许多个ajax请求,这样的页面运行肯定是很慢的

那么怎么样做才合理呢?

我们希望整个首页只请求一个json数据,也就是只发送一个ajax请求

对于类似上面这样情况,我们把ajax请求放在Home.vue中,然后通过子父组件传值,把每个子组件需要的数据都传给子组件

使用方法:

  1. <template>
  2. <div>
  3. <home-header :city="city"></home-header>
  4. <home-swiper :list="swiperList"></home-swiper>
  5. <home-icons :list="iconList"></home-icons>
  6. <home-recommend :list="recommendList"></home-recommend>
  7. <home-weekend :list="weekendList"></home-weekend>
  8. </div>
  9. </template>
  10. <script>
  11. import HomeHeader from './components/Header'
  12. import HomeSwiper from './components/Swiper'
  13. import HomeIcons from './components/Icons'
  14. import HomeRecommend from './components/Recommend'
  15. import HomeWeekend from './components/Weekend'
  16. import axios from 'axios'
  17. export default {
  18. name: 'Home',
  19. components: {
  20. HomeHeader,
  21. HomeSwiper,
  22. HomeIcons,
  23. HomeRecommend,
  24. HomeWeekend
  25. },
  26. data () {
  27. return {
  28. city: '',
  29. swiperList: [],
  30. iconList: [],
  31. recommendList: [],
  32. weekendList: []
  33. }
  34. },
  35. methods: {
  36. getHomeInfo: function () {
  37. axios.get('/api/index.json').then(this.getHomeInfoSucc)
  38. },
  39. getHomeInfoSucc: function (res) {
  40. res = res.data
  41. if (res.ret && res.data) {
  42. const data = res.data
  43. this.city = data.city
  44. this.swiperList = data.swiperList
  45. this.iconList = data.iconList
  46. this.recommendList = data.recommendList
  47. this.weekendList = data.weekendList
  48. }
  49. }
  50. },
  51. mounted () {
  52. this.getHomeInfo()
  53. }
  54. }
  55. </script>
  56. <style>
  57. </style>

我们把静态的json数据放在static里面mock文件夹里面,但是我们不想让他上线:

这样就不会提交到本地仓库和线上仓库

但是我们现在用的都是本地模拟的接口地址,假如我们的代码要上线,肯定不能填成本地地址,所以要写成api这种格式

所以我们就需要一种能够将我们的api转发到本地的mock文件夹下的功能,webpack-dev-server就为我们提供了这样的功能

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/578836
推荐阅读
相关标签
  

闽ICP备14008679号