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

vue3 祖孙组件通讯传值 provide 与 inject 以及 响应式数据的判断

父组件有一个provide 选项来提供数据,子组件有一个inject 选项来开始使用这些数据
写法:
1 在祖组件中 写入 provide(‘传递的变量名’,自定义变量名)
2 在孙组件中写入inject(‘接收的传递的变量名’)

代码演示
记得导入 provide
祖组件文件中

 import {reactive, toRefs, provide } from ‘vue’
 setup() {
    let car = reactive({
      name: "本次",
      price: "40w",
    });
    provide("car", car);
    console.log(car);
    // return { car };
    return { ...toRefs(car) };
  },
 注意的是,provide不是响应式的,如果需要使其具备响应性能,需要传入响应式数据。

孙组件文件 接收 inject
在这里插入图片描述
效果
在这里插入图片描述

响应性数据的传递与接收。
要先在祖组件中 provide 数据出去,在孙组件拿到的也是响应式的,并且可以通自身定义的响应式变量一样,直接return给template使用。一旦数据有变化,视图也会立即更新。
但上面这句话有效的前提是,不破坏数据的响应性,比如 ref 变量,你需要完整的传入,而不能只传入它的 value,对于 reactive 也是同理,不能直接解构去破坏原本的响应性。

响应式数据的判断

,看下边。
常用的4个api

isRef: 检查一个值是否为一个ref对象;
isReactive: 检查一个对象是否有reactive创建的响应式代理;
isReadonly: 检查一个对象是否有readonly创建的只读代理;
isProxy: 检查一个对象是否有reactive或者 readonly 方法创建的代理;

在这里插入图片描述

在这里插入图片描述

相关文章:

  • Unity3D 学习——入门资料整理
  • vue3父子组件传值 以及注意事项
  • “通过jumpserver远程登录linux服务器,rz上传文件速度过慢”问题的解决
  • vue项目 初始化 解决页面闪屏问题 v-cloak
  • Excle中LOOKUP经典用法
  • vue3实现 TodoList 运用到的点 组件传值props, ref, onMounted, reactive, toRefs, watch
  • 前端——运用@media实现网页自适应中的几个关键分辨率
  • vue3 实现 todoList 知识点 reactive, toRefs, computed, watchEffect, filters,localStorage数据存储、获取
  • vue 项目 前端 模拟后端接口数据(vue2,vue3)
  • JSON.toJSONString的jar包问题
  • vue3-cli创建项目后每个文件的第一行都爆红,或者每个文建都 : No Babel config file detected for...
  • vue3路由传参 query 、params
  • Dom4j把xml转换成Map(非固定格式)
  • vue2 和 vue3 的 路由守卫
  • Android EventBus 3.0.0 使用总结
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • 0基础学习移动端适配
  • 10个最佳ES6特性 ES7与ES8的特性
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Android交互
  • Consul Config 使用Git做版本控制的实现
  • ECS应用管理最佳实践
  • Java反射-动态类加载和重新加载
  • KMP算法及优化
  • MySQL数据库运维之数据恢复
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 从tcpdump抓包看TCP/IP协议
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 运行时添加log4j2的appender
  • 树莓派用上kodexplorer也能玩成私有网盘
  • # C++之functional库用法整理
  • #1014 : Trie树
  • #14vue3生成表单并跳转到外部地址的方式
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (Matlab)使用竞争神经网络实现数据聚类
  • (六)激光线扫描-三维重建
  • (论文阅读11/100)Fast R-CNN
  • (三)c52学习之旅-点亮LED灯
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)fock函数详解
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET 解决重复提交问题
  • .net(C#)中String.Format如何使用
  • .net解析传过来的xml_DOM4J解析XML文件
  • .NET企业级应用架构设计系列之结尾篇
  • :not(:first-child)和:not(:last-child)的用法
  • @EnableWebMvc介绍和使用详细demo
  • @Resource和@Autowired的区别
  • @RunWith注解作用
  • [20161101]rman备份与数据文件变化7.txt
  • [2019/05/17]解决springboot测试List接口时JSON传参异常