vue学习笔记(十一)——开发心得(axios的封装、promise细节、vue-router开发中的使用)

1. axios的网络请求的封装

1.1 为什么要封装api?

代码分层,便于以后的修改,无需触碰逻辑页面
目标:
网络请求,不散落在各个逻辑页面里,封装起来方便以后修改

1.2 封装api步骤

① 在项目 src 下新建目录utlis,此目录一般用于管理项目下所使用到的工具,如 axios。

② 在utils目录下新建request.js文件,对axios进行二次封装,并且制定项目的****根地址,并使用默认导出将 axios 导出。(每个模块中,只允许使用唯一的一次 export default,否则会报错! )

③ 在 src 下新建目录 api ,用于统一管理所有需要的 url地址,封装网络请求的方法并导出。

如在 api 目录下新建 home.js 用于统一管理首页 Home 组件中的所有网络请求

④ 在 api 目录下新建 index.js,将 api 文件夹下各个请求模块的 js 都统一导入到 index.js 中,再统一向外导出接口,导出的方法统一加一个 API 后缀,开发时使用时就知道这是接口函数了。

⑤ 在某个组件中使用的时候,直接导入使用该方法。

2. promise 的使用细节

2.1 async修饰的函数 -> 默认返回一个全新Promise对象

如在 methods 方法中使用的 getSongList 方法,由于 searchResultAPI 是使用 axios 封装的一个接口函数,所以该接口函数返回的是一个 promise 对象,可以通过使用 await 修饰直接拿到返回的结果。如果某个方法内部使用了 await 修饰,那么这个方法需要使用 async 来修饰该方法。

在 hotsFun 函数中调用 getSongList 方法时,getSongList方法返回值的是一个 promise 对象。因为 getSongList 用了 async 方法修饰,所以返回了一个新的 promise 对象。因此可以使用 await 来修饰,直接拿到返回的结果。某个函数内部用了 await 修饰后,需要加 async 修饰。

3. vue-router 开发中的使用细节

3.1 vue-router 开发中的统一管理

① router/index.js -- 配置路由规则和对应路由页面

在 src 下新建目录 router,再新建文件 index.js,在 index.js 中配置路由规则和对应路由页面,之后使用默认导出。

② main.js -- 引入路由对象注入到vue中

③ App.vue -- 留好router-view显示路由页面(挂载)

3.2 路由元信息-meta

① meta是什么?

是用来存储路由相关的一些额外信息。可以把它理解为附加在路由上的标签或属性,这些标签或属性对应的信息可以在路由守卫、组件等地方被访问和利用。

② meta 的使用

直接写在路由规则的配置里

在组件里可以通过this.$route.meta.属性名****的方式拿到具体的值。

相关推荐
qq_284274051 小时前
机械设计基础·滚动轴承全解(类型·代号·选型·寿命)+轮系与蜗杆蜗轮传动
笔记·学习·自动化·制造
ACP广源盛139246256736 小时前
硬件选型笔记:国产 PCIe Gen2.1 交换芯片 IX6024@ACP,工控与存量设备国产化改造方案评估
笔记·硬件架构·硬件工程·pcie·国产芯片
2603_965148116 小时前
社区与学习资源:从入门到精通的API选品学习路径
数据库·人工智能·python·学习·数据挖掘
文人sec7 小时前
SQL基础入门笔记 | 从零基础到掌握核心查询语句
数据库·笔记·sql
u0111026758 小时前
JPG、PNG、WebP 怎么选?按透明度、体积和使用场景做判断
前端·javascript·vue.js·图像处理·ai作画
摇滚侠8 小时前
《计算机是如何工作的:人人都能懂的计算机软硬件工作原理》第 9 章 机器码与汇编语言 阅读笔记 9
java·开发语言·笔记
kaixin_啊啊8 小时前
【用于更准确 G×E 基因组预测的大规模作物数据集与基于深度学习的多模态融合框架】论文学习
人工智能·深度学习·学习
xier_ran9 小时前
【infra之路】AI 编译器学习笔记(六):重拾 C++——lambda 与 MLIR 中的回调
c++·笔记·学习
志尊宝9 小时前
Vue3 零基础每日笔记(078):首屏加载速度优化汇总——清单化方案
笔记
别动我齐刘海11 小时前
Linux 系统调试学习2
linux·运维·c++·人工智能·学习·机器学习·机器人