ToB企服应用市场:ToB评测及商务社交产业平台

标题: 利用Vue 3和Axios从第三方API获取异步数据并展示 [打印本页]

作者: 圆咕噜咕噜    时间: 2024-8-19 08:01
标题: 利用Vue 3和Axios从第三方API获取异步数据并展示
在前端开发中,从第三方 API 获取数据并动态展示黑白常常见且重要的需求之一。今天我们将深入探讨怎样利用 Vue 3 和 Axios 从第三方 API 获取异步数据并将其展示在页面上。通过这个例子,你将了解怎样在 Vue 3 中集成 Axios,怎样进行异步请求,以及怎样动态地将数据绑定到模板以实现实时内容更新。
前置条件

在开始之前,请确保你已经具备以下条件:
创建一个新的 Vue 3 项目

起首,我们需要创建一个新的 Vue 3 项目。假如你还没有安装 Vue CLI,可以利用以下下令进行安装:
  1. npm install -g @vue/cli
复制代码
安装完成后,利用以下下令创建一个新的 Vue 项目:
  1. vue create vue-axios-demo
复制代码
选择默认配置或根据需求自界说配置。创建项目后,进入项目目录:
  1. cd vue-axios-demo
复制代码
安装 Axios

Axios 是一个基于 Promise 的 HTTP 客户端,用于在浏览器和 Node.js 中发出 HTTP 请求。我们需要在项目中安装 Axios:
  1. npm install axios
复制代码
项目布局

项目标基础布局如下:
  1. vue-axios-demo
  2. ├── node_modules
  3. ├── public
  4. ├── src
  5. │   ├── assets
  6. │   ├── components
  7. │   ├── views
  8. │   ├── App.vue
  9. │   ├── main.js
  10. ├── .gitignore
  11. ├── babel.config.js
  12. ├── package.json
  13. ├── README.md
  14. └── vue.config.js
复制代码
创建组件

在 src/components 目录下创建一个新的组件文件 DataFetcher.vue,这个组件将用于从第三方 API 获取数据并展示。
文件内容如下:
  1. <template>
  2.   <div class="data-fetcher">
  3.     <h1>Data from Third-Party API</h1>
  4.     <div v-if="loading">Loading...</div>
  5.     <div v-if="error">{{ error }}</div>
  6.     <ul v-if="data">
  7.       <li v-for="item in data" :key="item.id">{{ item.name }}</li>
  8.     </ul>
  9.   </div>
  10. </template>
  11. <script>
  12. import axios from 'axios';
  13. export default {
  14.   name: 'DataFetcher',
  15.   data() {
  16.     return {
  17.       data: null,
  18.       loading: true,
  19.       error: null,
  20.     };
  21.   },
  22.   created() {
  23.     this.fetchData();
  24.   },
  25.   methods: {
  26.     async fetchData() {
  27.       try {
  28.         const response = await axios.get('https://api.exapmle.com/data'); // 替换为实际API地址
  29.         this.data = response.data;
  30.       } catch (err) {
  31.         this.error = 'Failed to load data';
  32.       } finally {
  33.         this.loading = false;
  34.       }
  35.     },
  36.   },
  37. };
  38. </script>
  39. <style scoped>
  40. .data-fetcher {
  41.   padding: 20px;
  42. }
  43. .loading {
  44.   font-size: 1.5em;
  45.   color: #666;
  46. }
  47. .error {
  48.   color: red;
  49. }
  50. ul {
  51.   list-style-type: none;
  52.   padding: 0;
  53. }
  54. li {
  55.   background: #f4f4f4;
  56.   margin: 10px 0;
  57.   padding: 10px;
  58.   border-radius: 4px;
  59. }
  60. </style>
复制代码
更新主应用组件

如今,我们需要将创建的 DataFetcher 组件添加到我们的主应用组件 App.vue 中。
更新 src/App.vue 文件如下:
  1. <template>
  2.   <div id="app">
  3.     <DataFetcher />
  4.   </div>
  5. </template>
  6. <script>
  7. import DataFetcher from './components/DataFetcher.vue';
  8. export default {
  9.   name: 'App',
  10.   components: {
  11.     DataFetcher,
  12.   },
  13. };
  14. </script>
  15. <style>
  16. #app {
  17.   font-family: Avenir, Helvetica, Arial, sans-serif;
  18.   -webkit-font-smoothing: antialiased;
  19.   -moz-osx-font-smoothing: grayscale;
  20.   text-align: center;
  21.   color: #2c3e50;
  22.   margin-top: 60px;
  23. }
  24. </style>
复制代码
运行项目

一切就绪之后,可以运行项目,查看效果:
  1. npm run serve
复制代码
打开浏览器,访问 http://localhost:8080,你应该会看到从第三方 API 获取的动态数据。
解释代码

总结

通过本文,我们实现了利用 Vue 3 和 Axios 从第三方 API 获取异步数据并展示。在前端开发中,把握从 API 获取数据并渲染到页面黑白常重要的技能。

最后问候亲爱的朋友们,并邀请你们阅读我的全新著作


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4