12种方式

1. 父组件 ./father.vue

点击查看代码
  1. <template>
  2. <h1>father:</h1>
  3. <h3>子组件传过来的:{{ abc }}</h3>
  4. <input type="text" ref="inp" v-model="msg" />
  5. <h4>=================================</h4>
  6. <son :msg="'父组件传过来的:' + msg" @updatas="updatas"></son>
  7. <h4>=================================</h4>
  8. <middle></middle>
  9. </template>
  10. <script setup>
  11. import middle from "./middle.vue";
  12. import son from "./son.vue";
  13. import { computed, onMounted, reactive, ref, watch } from "vue";
  14. let msg = ref("0062"); // ref初始化值基本类型,reactive用来初始化对象、数组
  15. //这里 let msg = proxy({value:'0062'})
  16. let inp = ref(null); // 获取ref:inp
  17. console.log(inp.value); // null
  18. // console.log(inp.value.value); // 报错:不能读取为空(null)的属性
  19. onMounted(() => {
  20. console.log(inp.value.value); // 0062
  21. setTimeout(() => {
  22. inp.value.value = 20; // 改变输入框的值为20
  23. msg = inp.value.value; // 直接赋值,失去其响应性。原本的msg是个对象可改为msg.value=inp.value.value;
  24. // 这里是mounted函数内部,当再次输入值的时候,msg会重获其响应性
  25. // msg在vue的template中使用,不需要.value;
  26. }, 1000);
  27. });
  28. let abc = ref("默认值");
  29. let d = ref('')
  30. const updatas = (data) => { // 接收子组件传来的值,在子组件利用defineEmits调用该函数
  31. console.log("子组件传过来的值:" + data); // data为子组件传进来的参数值
  32. // console.dir(data);
  33. d.value = data; // 这里的d.value是因为vue3里面ref赋值的变量需要通过.value的形式取值,
  34. // ref里面是调用的reactive。
  35. console.dir('d:' + d.value);
  36. };
  37. // let bcd = ref()
  38. abc = computed(() => {
  39. console.log(d);
  40. return d.value
  41. });
  42. </script>

2. 子组件 ./son.vue

点击查看代码
  1. <template>
  2. <h1>son:</h1>
  3. <h3>{{ msg }}</h3>
  4. <input type="text" ref="inpu" @input="handlerchange" />
  5. </template>
  6. <script setup>
  7. import { ref, onMounted, nextTick } from "vue";
  8. defineProps({
  9. msg: {
  10. type: String,
  11. default: "son",
  12. },
  13. });
  14. const em1 = defineEmits(["updatas"]);
  15. let inpu = ref(null); // 获取ref:inpu
  16. // let valu = ref('00'); // 初始化valu的值为‘00’
  17. let time = ref("");
  18. const handlerchange = (event) => {
  19. // event.currentTarget.value直接实时获取input输入框的值
  20. // console.log(event.currentTarget.value);
  21. // console.log(event);
  22. // console.dir(event.currentTarget);
  23. let a = event.currentTarget.value
  24. clearTimeout(time);
  25. time = setTimeout(() => { // setTimeout计时结束会执行里面的代码 // 宏任务
  26. // console.log(inpu.value.value); // 通过ref获取输入的值
  27. // console.log(event);
  28. // console.dir(event.currentTarget); // event.currentTarget是一个实时值,而不是快照。随着事件冒泡阶段的结束,它将被解引用,为null。
  29. em1("updatas", a);
  30. }, 800);
  31. };
  32. </script>

Vue3组件间传值的更多相关文章

  1. Vue 组件间传值

    前言 Vue 作为现在比较火的框架之一,相信您在使用的过程中,也会遇到组件间传值的情况,本文将讲解几种 Vue 组件间传值的几种方法,跟着小编一起来学习一下吧! 实现 注意: 学习本文,需要您对 Vu ...

  2. react组件间传值详解

    一.父子组件间传值     <1>父传子         父组件:

  3. Vue中组件间传值常用的几种方式

    版本说明: vue-cli:3.0 一.父子组件间传值 1.props/$emit -父组件==>>子组件: 子组件中通过定义props接收父组件中通过v-bind绑定的数据 父组件代码 ...

  4. Vue学习(二)-Vue中组件间传值常用的几种方式

    版本说明:vue-cli:3.0 主要分为两类: 1.父子组件间的传值 2.非父子组件间的传值 1.父子组件间传值 父组件向子组件传值 第一种方式: props 父组件嵌套的子组件中,使用v-bind ...

  5. React Native 系列(五) -- 组件间传值

    前言 本系列是基于React Native版本号0.44.3写的.任何一款 App 都有界面之间数据传递的这个步骤的,那么在RN中,组件间是怎么传值的呢?这篇文章将介绍到顺传.逆传已经通过通知传值. ...

  6. Vue组件间传值 v-model

    使用过Vue的同学应该都了解组件之间传值 父组件 --> 子组件 : props 子组件 --> 父组件 : 事件 其实有一种更为简单的方法,是基于上述两种方法,那就是 v-model 我 ...

  7. Angular中不同的组件间传值与通信的方法

    主要分为父子组件和非父子组件部分. 父子组件间参数与通讯方法 使用事件通信(EventEmitter,@Output): 场景:可以在父子组件之间进行通信,一般使用在子组件传递消息给父组件: 步骤: ...

  8. vue——父子组件间传值

    (1)父组件给子组件传值(商品详情页): 根据订单类型,判断显示立即购买/立即拼单: 通过props来传递参数 父组件(商品详情页) 父组件调用子组件,在子组件的标签中,通过:数据名称=”数据”的形式 ...

  9. taro 填坑之路(二)taro 通过事件监听 实现组件间传值

    1.组件传值的方式 2.事件监听原理 3.事件管理器 utils/event.js /** * 事件池(事件管理器) * 通过事件监听传值 */ class Event { constructor() ...

随机推荐

  1. django_day08_项目相关

    django_day08_项目相关 定义数据库表 from django.db import models # Create your models here. class User(models.M ...

  2. KingbaseES 时间类型数据和oracle时间类型的区别

    Oracle日期时间类型有两类,一类是日期时间类型,包括Date, Timestamp with time zone, Timestamp with local time zone.另一类是Inter ...

  3. haodoop高可用

    高可用简介 Hadoop 高可用 (High Availability) 分为 HDFS 高可用和 YARN 高可用,两者的实现基本类似, 但 HDFS NameNode 对数据存储及其一致性的要求比 ...

  4. 传输层协议(tcp ip和udp 三次握手 四次握手)

    1 TCP/IP协议介绍 TCP/IP协议:Transmission Control Protocol/Internet Protocol 传输控制协议/因特网互联协议. TCP/IP是一个Proto ...

  5. ProxySQL(2):初试读写分离

    文章转载自:https://www.cnblogs.com/f-ck-need-u/p/9278839.html 实现一个简单的读写分离 这里通过一个简单的示例实现ProxySQL的读写分离功能,算是 ...

  6. Elasticsearch 索引生命周期管理 ILM 实战指南

    文章转载自:https://mp.weixin.qq.com/s/7VQd5sKt_PH56PFnCrUOHQ 1.什么是索引生命周期 在基于日志.指标.实时时间序列的大型系统中,集群的索引也具备类似 ...

  7. 图解 Kubernetes Service

    文章转载自:https://www.qikqiak.com/post/visually-explained-k8s-service/ 原文链接:https://medium.com/swlh/kube ...

  8. 第2篇----Istio架构概述篇

    Istio的工作机制 Istio的工作机制和架构,分为控制面和数据面两部分.控制面主要包括Pilot.Mixer.Citadel等服务组件:数据面由伴随每个应用程序部署的代理程序Envoy组成,执行针 ...

  9. [基础]VS Code 基础操作 命令符

    一.五种运行方式 1.点击IIS Express运行 实际上它开的是一个IIS Express服务器,就是说有一个小的代理服务器帮咱们运行,运行后就会启动一个IIS Express小型服务器,启动之后 ...

  10. [题解] Atcoder Beginner Contest ABC 270 G Ex 题解

    点我看题 G - Sequence in mod P 稍微观察一下就会发现,进行x次操作后的结果是\(A^xS+(1+\cdots +A^{x-1})B\).如果没有右边那一坨关于B的东西,那我们要求 ...