没有合适的资源?快使用搜索试试~ 我知道了~
前端Vue 3 的组合 API 如何请求数据.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 99 浏览量
2023-02-22
20:58:08
上传
评论
收藏 1.45MB PDF 举报
温馨提示
.【前端】Vue 3 的组合 API 如何请求数据.pdf
资源推荐
资源详情
资源评论






























Vue 3 的组合 API 如何请求数据
前言
之前在学习 React Hooks 的过程中,看到一篇外网文
章,通过 Hooks 来请求数据,并将这段逻辑抽象成一
个新的 Hooks 给其他组件复用,我也在我的博客里翻
译了一下:《在 React Hooks 中如何请求数据?》,
感兴趣可以看看。虽然是去年的文章,在阅读之后一下
子就掌握了 Hooks 的使用方式,而且数据请求是在业
务代码中很常用的逻辑。
Vue 3 已经发布一段时间了,其组合 API 多少有点
React Hooks 的影子在里面,今天我也打算通过这种
方式来学习下组合 API。
项目初始化
为了快速启动一个 Vue 3 项目,我们直接使用当下最
热门的工具 Vite 来初始化项目。整个过程一气呵成,
行云流水。

#
打开生成的项目文件夹
cd vue3-app
#
安装依赖
npm install
#
启动项目
npm run dev
我们打开
App.vue
将生成的代码先删掉。
组合 API 的入口
接下来我们将通过 Hacker News API 来获取一些热门
文章,Hacker News API 返回的数据结构如下:
{
"hits": [
{
"objectID": "24518295",
"title": "Vue.js 3",
"url": "https://github.com/vuejs/vue-next/releases/tag/v3.0.0",
},
{...},
{...},
]
}
我们通过
ui > li
将新闻列表展示到界面上,新闻数据
从
hits
遍历中获取。
<template>
<ul>

<li
v-for="item of hits"
:key="item.objectID"
>
<a :href="item.url">{{item.title}}a>
li>
ul>
template>
<script>
import { reactive } from 'vue'
export default {
setup() {
const state = reactive({
hits: []
})
return state
}
}
script>
在讲解数据请求前,我看先看看
setup()
方法,组合
API 需要通过
setup()
方法来启动,
setup()
返回的数
据可以在模板内使用,可以简单理解为 Vue 2 里面
data()
方法返回的数据,不同的是,返回的数据需要先
经过
reactive()
方法进行包裹,将数据变成响应式。
组合 API 中请求数据

在 Vue 2 中,我们请求数据时,通常需要将发起请求
的代码放到某个生命周期中(
created
或
mounted
)。在
setup()
方法内,我们可以使用 Vue 3 提供的生命周期
钩子将请求放到特定生命周期内,关于生命周期钩子方
法与之前生命周期的对比如下:
生命周期
可以看到,基本上就是在之前的方法名前加上了一个
on
,且并没有提供
onCreated
的钩子,因为在
setup()
内执行就相当于在
created
阶段执行。下面我们在
mounted
阶段来请求数据:

import { reactive, onMounted } from 'vue'
export default {
setup() {
const state = reactive({
hits: []
})
onMounted(async () => {
const data = await fetch(
'https://hn.algolia.com/api/v1/search?query=vue'
).then(rsp => rsp.json())
state.hits = data.hits
})
return state
}
}
最后效果如下:
剩余24页未读,继续阅读
资源评论


春哥111
- 粉丝: 1w+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于AT89S52单片机的数字温度计设计.doc
- 2023年初级通信工程师考试试题及答案.doc
- 软件项目立项评审报告模版.doc
- 项目管理-系列2-3:配置管理实用手册vss.docx
- 家里怎么安装网络.pdf
- 工业机器人遥操作控制系统设计嵌入式伺服控制器设计样本.doc
- 精品课程网络教学资源和硬件环境.pdf
- 发电系统安全控制.doc
- 网络诈骗常见手段及防范对策.doc
- 计算机组成原理习题)(1)解析.doc
- 电子商务和税收筹划的关系是什么.doc
- 再生资源回收体系建设项目管理手册.doc
- 国家网络安全法考试试题与答案.pdf
- 软件测试实验报告.doc
- 数据库课程设计宾馆客房信息管理系统.doc
- 网络推广最高效率的方案.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
