当前位置: 首页 > news >正文

【功能实现】axios实现动态数据

1.安装axios

npm i axios

2.axios调取数据

import { onMounted,ref } from "vue"const titleList=ref([])//获取数据库数据,将数据赋值给titleListconst getArticles = async () => {const result = await axios.get('http://127.0.0.1:3000/getAccount')titleList.value = result.data.dataconsole.log(result.data.data);}//调用getArticles方法onMounted(()=>{getArticles()})

3.页面使用数据

 <template v-for="item in titleList" :key="item.id"><routerLink :to="`/detail/${item._id}`" class="posts-item shadow-box"><div class="posts-item__infos"><div class="info__dates"><span class="yyc yy-date"></span><span>发布于 2024-12-06</span></div><h3 class="info__title">{{item.title}}</h3><div class="info__total"><div class="total__item"><span class="yyc yy-fire"></span><span>33阅读</span></div><div class="total__item"><span class="yyc yy-comment"></span><span>22条评论</span></div><div class="total__item"><span class="yyc yy-heart"></span><span>YYF</span></div></div></div></routerLink></template>

4.优化

1.新建utils文件夹,存放工具,新建request.ts文件

import axios from 'axios'const http= axios.create({baseURL: '/api',// 通用请求地址前缀timeout: 10000,//超时时间
})// 添加请求拦截器
http.interceptors.request.use(function (config) {// 在发送请求之前做些什么return config;}, function (error) {// 对请求错误做些什么return Promise.reject(error);});// 添加响应拦截器
http.interceptors.response.use(function (response) {// 2xx 范围内的状态码都会触发该函数。// 对响应数据做点什么return response;}, function (error) {// 超出 2xx 范围的状态码都会触发该函数。// 对响应错误做点什么return Promise.reject(error);});
export default http

2.新建api文件夹,在文件夹下新建index.ts文件

import http from '../utils/request.js'//请求全部文章数据
export const getArticles= () =>{//返回一个promise对象return http.get('http://127.0.0.1:3000/getArticle')
}

3.在首页直接调用使用

import { getArticles } from "../api";import { onMounted,ref } from "vue"const titleList=ref([])getArticles().then((data)=>{titleList.value = data.data.dataconsole.log(data.data.data);})onMounted(()=>{getArticles()})

4.好处

对于api的集中存放,增加代码规范化,后期更好维护


http://www.mrgr.cn/news/10755.html

相关文章:

  • Part3-DOM学习笔记-操作元素
  • FFmpeg源码:ffurl_seek2、ffurl_seek、avio_size函数分析
  • 微服务通信
  • Godot《躲避小兵》实战之为游戏添加音效
  • Java:Date类
  • 经典数据结构 | 原理与应用场景汇总
  • redis--分布式锁
  • 零日漏洞:隐匿的威胁与深度剖析
  • Elasticsearch对象映射
  • 微软在Edge浏览器中引入本地AI模型;苹果将于9月10日发布iPhone 16系列
  • HandBrakeCLI 压缩工具的简单实用
  • Kafka队列:分布式系统的消息引擎
  • JavaEE 第18节 TCPUDP优缺点(对比)
  • LaViT:Less-Attention Vision Transformer的特性与优点
  • 外贸管理系统采购销售报关计算机毕业设计VUE/PYTHON/MYSQL
  • C语言05--指针初识
  • 11. 关于sizeof 和 strlen的区别
  • 10、Flink动态表之 DataStream 上的关系查询详解
  • 写论文找不到灵感?ChatGPT能提供的一些帮助
  • Ubuntu2004编译VLC-QT(记录)(根据官方步骤来)