19.0 vue3 ref,reactive请求后的赋值问题以及解决方法
上一篇:
18.0 vue3 Vue Router的使用(1)_十一月的萧邦-CSDN博客
开发的过程中,我们一定会进行接口的对接,将响应的结果赋值给我们页面上需要展示或者操作的变量,在vue3中,我们可能会稍微的有点不适应,在赋值的过程中,使用了错误的做法,导致一直失败
错误示范:无论是使用ref声明的数组还是使用reactive声明的数组,此种写法都是错误的
<template><div>list:{{ list }}</div>
</template><script>
import {ref, reactive, toRefs} from "vue";export default {name: "Test",setup() {let list = ref([])getList()async function getList() {list = await httpGetList()}//// let list = reactive([])// getList()//// async function getList() {// list = await httpGetList()// }function httpGetList() {return new Promise((resolve, reject) => {setTimeout(() => {resolve([1, 2, 3, 4, 5])}, 500)})}return {list}}
}
</script>
正确写法:
方法1
let list1 = ref([])getList1()async function getList1() {list1.value = await httpGetList()}
方法2
let list2 = reactive([])getList2()async function getList2() {let resp = await httpGetList()list2.push(...resp)}
方法3
let data = reactive({list3: []})getList3()async function getList3() {data.list3 = await httpGetList()}
个人比较推荐 方法3或者方法1,优先使用方法3 ,对于对象也是一样的操作哦!
完整代码
<template><div>list:{{ list }}</div><div>list1:{{ list1 }}</div><div>list2:{{ list2 }}</div><div>list3:{{ list3 }}</div></template><script>
import {ref, reactive, toRefs} from "vue";export default {name: "Test",setup() {// let list = ref([])// getList()//// async function getList() {// list = await httpGetList()// }//let list = reactive([])getList()async function getList() {list = await httpGetList()}let list1 = ref([])getList1()async function getList1() {list1.value = await httpGetList()}let list2 = reactive([])getList2()async function getList2() {let resp = await httpGetList()list2.push(...resp)}///let data = reactive({list3: []})getList3()async function getList3() {data.list3 = await httpGetList()}function httpGetList() {return new Promise((resolve, reject) => {setTimeout(() => {resolve([1, 2, 3, 4, 5])}, 500)})}return {list,list1,list2,...toRefs(data)}}
}
</script><style scoped></style>
下一篇:
20.0 vue3 vue-router路由跳转,参数的传递与接收(请求操作)_十一月的萧邦-CSDN博客
19.0 vue3 ref,reactive请求后的赋值问题以及解决方法相关推荐
- vue3 ref,reactive请求后的赋值问题以及解决方法
vue3 ref,reactive请求后的赋值问题以及解决方法 开发的过程中,我们一定会进行接口的对接,将响应的结果赋值给我们页面上需要展示或者操作的变量,在vue3中,我们可能会稍微的有点不适应 ...
- 服务器启动成功网页无法访问,apache启动后无法访问网页的解决方法
apache启动后无法访问网页的解决方法 发布时间:2021-01-27 11:31:08 来源:亿速云 阅读:146 作者:小新 小编给大家分享一下apache启动后无法访问网页的解决方法,希望大家 ...
- idea创建web项目运行报404错误_IDEA JavaWeb项目启动运行后出现404错误的解决方法...
404这个错误真的是一言难尽!不过大多是配置文件出错,认真修改还是可以的 1.web.xml配置错误: 默认首页没有写的,在web.xml添加一个就行(前提是你有jsp页面,名字不要写错): 比如这个 ...
- 所有服务器显示不兼容,魔兽世界6.0服务器显示不兼容怎么办 服务器显示不兼容解决方法介绍...
今天小编为大家带来了魔兽世界6.0服务器显示不兼容怎么办 服务器显示不兼容解决方法介绍,感兴趣的朋友们可以跟着小编去下文了解一下哦! <魔兽世界>6.0版本游戏"德拉诺之王&qu ...
- hp打印机无法与计算机,电脑中安装HP打印机后重启无法打印的解决方法
电脑中安装HP打印机后重启无法打印怎么办?近来不少朋友都向小编咨询了这个问题.HP有一个型号重启以后无法打印,今天系统城小编就要在这里给大家介绍一个方法可以解决这个问题. 具体方法如下: 1.这是第一 ...
- @Data注解使用后get set报错解决方法
@Data注解使用后get set报错解决方法 参考文章: (1)@Data注解使用后get set报错解决方法 (2)https://www.cnblogs.com/lijinshan950823/ ...
- 宝塔控制面板创建ftp后链接不上的解决方法
宝塔控制面板创建ftp后链接不上的解决方法 参考文章: (1)宝塔控制面板创建ftp后链接不上的解决方法 (2)https://www.cnblogs.com/cncom/p/10772078.htm ...
- SQLServer 数据库变成单个用户后无法访问问题的解决方法
SQLServer 数据库变成单个用户后无法访问问题的解决方法 参考文章: (1)SQLServer 数据库变成单个用户后无法访问问题的解决方法 (2)https://www.cnblogs.com/ ...
- $.ajax返回的JSON格式的数据后无法执行success的解决方法
$.ajax返回的JSON格式的数据后无法执行success的解决方法 参考文章: (1)$.ajax返回的JSON格式的数据后无法执行success的解决方法 (2)https://www.cnbl ...
最新文章
- c++ string 头文件_“延期不延学” 第25期 | C++篇 | C/C++常用函数
- C#中使用SqlBulk百万级数据秒级插入
- python把空格替换成字符串,用空格替换字符串中的字符
- 在dom最前面插入_虚拟 DOM 到底是什么?
- 红外光通信装置数字部分思路点睛 2013年国赛f题
- 什么思维是计算机科学的基础概念,计算思维基础
- Win10搭建gym运行atari游戏pong
- SWUN 1423 - 伊邪那美
- 二维码推动了“智慧边境管理”建设
- u盘克隆服务器系统,只需4步!简单又快速的克隆U盘
- 小鸟云服务器上线了新的操作系统
- 事后控制不如事中控制,事中控制不如事前控制
- 关于程序化交易系统的交易体系
- Java: 找不到符号 符号: 类 SpringBootApplication
- 王炸!一个开源微信小程序+商城后台管理系统
- win7文件夹每次打开新的窗口/卸载ie后/同一窗口中打开每个文件也没用
- 【渝粤教育】国家开放大学2018年春季 0463-21T英语语音 参考试题
- 代码实现添加联系人——Vcard
- Word无法启动转换器mswrd632.wpc
- 中创|使用分布式存储协议,NFT收藏可永久保存
热门文章
- 推荐一个C++枚举转字符串的开源项目magic_enum
- 手机上网:警惕流量“黑洞”
- 极光笔记 | 用 WhatsApp 进行海外用户运营的 N 个理由
- StataJournal来啦!随便看(2001-2020)更新到2020年第2期
- DAO 为什么难以实现问责制的去中心化
- 还原数据库(SQL Server)
- 雅虎财经api_带有Yahoo API的Android反向地理编码– PlaceFinder
- 基辛格和张忠谋对骂,源于Intel已到生死关头
- 不对窗体进行边框装饰后,实现对鼠标事件的监控
- 他,被骗了5万块钱,大家一定擦亮双眼,只要涉及转账的,就一定是骗子,没有万一