Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中
    安装axios

    1. yarn add axios

    在vue组件中使用axios

    1. <template>
    2. <div>
    3. <div v-if="isLoading">
    4. <img src="../assets/loading.gif">
    5. </div>
    6. <div>
    7. <ul>
    8. <li v-for="post in posts" :key="post.id">
    9. <span>{{post.id}}</span>
    10. </li>
    11. </ul>
    12. </div>
    13. </div>
    14. </template>
    15. <script>
    16. import Vue from 'vue'
    17. import axios from 'axios'
    18. Vue.prototype.$http = axios
    19. export default {
    20. data(){
    21. return {
    22. isLoading: false,
    23. posts:[]
    24. }
    25. },
    26. methods: {
    27. // GET请求
    28. getData(){
    29. this.$http.get('https://cnodejs.org/api/v1/topics', {
    30. params:{
    31. limit: 20,
    32. page: 1
    33. }
    34. })
    35. .then((res)=>{
    36. this.isLoading = false
    37. this.posts = res.data.data
    38. })
    39. .catch((err)=>{
    40. console.log(err)
    41. })
    42. }
    43. },
    44. beforeMount(){
    45. this.isLoading = true
    46. this.getData()
    47. }
    48. }
    49. </script>