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

vue3使用provide和inject传递异步请求数据子组件接收不到

前言

一般接口返回的格式是数组或对象,使用reactive定义共享变量

父组件传递

const data = reactive([])// 使用settimout模拟接口返回
setTimeout(() => {// 将接口返回的数据赋值给变量Object.assign(data, [{ id: 10000 }])
}, 3000);provide('shareData', data);// 这行代码也不用写在异步请求回调里,我一般放在js代码最底部

子组件接收

<template>{{ receiveData }}
</template><script lang="ts" setup>
import { inject } from 'vue';const receiveData = inject('shareData')
console.log(receiveData );// 这个位置打印时取不到最新的数据,直接在html代码里使用,会有数据// 如果想在js中处理后使用,加个watch监听,采用深度监听deep:true
watch(() => receiveData, (res) => {console.log(res);// TODO处理数据
}, { deep: true })</script>

可以看到子组件模板中先显示初始值,待接口返回后更新为最新值 

http://www.lryc.cn/news/436615.html

相关文章:

  • 对称矩阵的压缩存储
  • 高阶数据结构之哈希表基础讲解与模拟实现
  • 基于STM32设计的智能货架(华为云IOT)(225)
  • JDBC API详解一
  • 工厂安灯系统在设备管理中的重要性
  • 【LabVIEW学习篇 - 23】:简单状态机
  • 【CSS】 Grid布局:现代网页设计的基石
  • jQuery UI API 文档
  • 盘点2024年大家都在用的录屏工具
  • 【大数据】探索怎么从一段话中解析关键信息(寄件人相关信息)
  • 初学者指南:MyBatis 入门教程
  • reader-lm:小模型 html转markdown
  • 进击J6:ResNeXt-50实战
  • 新代机床采集数据
  • 景联文科技:专业数据标注公司,推动AI技术革新
  • k8s以及prometheus
  • android 权限说明
  • <winsock>重叠IO模型
  • Android Tools | 如何使用Draw.io助力Android开发:从UI设计到流程优化
  • Java 每日一刊(第5期):变量守护者
  • 【C++二分查找】2517. 礼盒的最大甜蜜度
  • 【详解】数据库E-R图——医院计算机管理系统
  • 分类预测|基于改进的灰狼IGWO优化支持向量机SVM的数据分类预测matlab程序 改进策略:Cat混沌与高斯变异
  • 圆锥曲线练习
  • STM32时钟树
  • NX—UI界面生成的文件在VS上的设置
  • Wine容器内程序执行sh脚本问题研究
  • 《深度学习》OpenCV轮廓检测 模版匹配 解析及实现
  • Java XML
  • 好用的视频压缩工具有哪些?这4款千万不要错过