12种方式

1. 父组件 ./father.vue

点击查看代码
<template>
<h1>father:</h1>
<h3>子组件传过来的:{{ abc }}</h3>
<input type="text" ref="inp" v-model="msg" />
<h4>=================================</h4>
<son :msg="'父组件传过来的:' + msg" @updatas="updatas"></son>
<h4>=================================</h4> <middle></middle>
</template> <script setup>
import middle from "./middle.vue";
import son from "./son.vue";
import { computed, onMounted, reactive, ref, watch } from "vue"; let msg = ref("0062"); // ref初始化值基本类型,reactive用来初始化对象、数组
//这里 let msg = proxy({value:'0062'})
let inp = ref(null); // 获取ref:inp
console.log(inp.value); // null
// console.log(inp.value.value); // 报错:不能读取为空(null)的属性 onMounted(() => {
console.log(inp.value.value); // 0062
setTimeout(() => {
inp.value.value = 20; // 改变输入框的值为20
msg = inp.value.value; // 直接赋值,失去其响应性。原本的msg是个对象可改为msg.value=inp.value.value;
// 这里是mounted函数内部,当再次输入值的时候,msg会重获其响应性
// msg在vue的template中使用,不需要.value; }, 1000);
}); let abc = ref("默认值");
let d = ref('')
const updatas = (data) => { // 接收子组件传来的值,在子组件利用defineEmits调用该函数
console.log("子组件传过来的值:" + data); // data为子组件传进来的参数值
// console.dir(data);
d.value = data; // 这里的d.value是因为vue3里面ref赋值的变量需要通过.value的形式取值,
// ref里面是调用的reactive。
console.dir('d:' + d.value);
};
// let bcd = ref()
abc = computed(() => {
console.log(d);
return d.value
});
</script>

2. 子组件 ./son.vue

点击查看代码
<template>
<h1>son:</h1>
<h3>{{ msg }}</h3>
<input type="text" ref="inpu" @input="handlerchange" />
</template> <script setup>
import { ref, onMounted, nextTick } from "vue"; defineProps({
msg: {
type: String,
default: "son",
},
}); const em1 = defineEmits(["updatas"]);
let inpu = ref(null); // 获取ref:inpu
// let valu = ref('00'); // 初始化valu的值为‘00’
let time = ref(""); const handlerchange = (event) => {
// event.currentTarget.value直接实时获取input输入框的值
// console.log(event.currentTarget.value);
// console.log(event);
// console.dir(event.currentTarget);
let a = event.currentTarget.value
clearTimeout(time);
time = setTimeout(() => { // setTimeout计时结束会执行里面的代码 // 宏任务
// console.log(inpu.value.value); // 通过ref获取输入的值
// console.log(event);
// console.dir(event.currentTarget); // event.currentTarget是一个实时值,而不是快照。随着事件冒泡阶段的结束,它将被解引用,为null。
em1("updatas", a);
}, 800);
}; </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. 第九十六篇:恶补JS基础

    好家伙,来补基础啦,补JS的基础 先来一些概念性的东西 1.什么是JavaScript?  javaScript的简写形式就是JS,一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态 ...

  2. Windows如何创存储虚拟机并制作存储虚拟化LUN的映射

    创建虚拟机 只能设置为8G,不能多也不能少 选择仅主机模式 选择使用现有磁盘 浏览选择自己的vmdk文件 选择保存现有格式 点击完成 点击编辑虚拟机设置 添加一个40G的硬盘 修改为40G并选择存储为 ...

  3. 超详细 VS Code 配置C/C++教程

    写在前面 如果您使用的电脑内存 \(\leq 4 \texttt{GB}\),建议您使用Dev-C++,否则会到时内存占用爆满,体验感不佳. 网上的很多教程都不够详细,这里我把每一步.每一个操作都详细 ...

  4. 一个注解解决ShardingJdbc不支持复杂SQL

    背景介绍 公司最近做分库分表业务,接入了 Sharding JDBC,接入完成后,回归测试时发现好几个 SQL 执行报错,关键这几个表都还不是分片表.报错如下: 这下糟了嘛.熟悉 Sharding J ...

  5. 当 EDA 遇到 Serverless,亚马逊云科技出招了

    近二三十年来,软件开发领域毫无疑问是发展最为迅速的行业之一. 在上个世纪九十年代,世界上市值最高的公司大多是资源类或者重工业类的公司,例如埃克森美孚或者通用汽车,而现在市值最高的公司中,纯粹的软件公司 ...

  6. 在logstash中启动X-Pack Management功能后配置logstash的情况说明

    开启X-Pack Management功能后,启动logstsh的时候就不用再配置logstash.conf文件了,启动的时候也不用再使用-f指定这个文件进行启动了 一旦启动了logstash的集中管 ...

  7. Kubernetes 中部署 NFS-Subdir-External-Provisioner 为 NFS 提供动态分配卷

    文章转载自:http://www.mydlq.club/article/109/ 系统环境: 操作系统: CentOS 7.9 Docker 版本: 19.03.13 Kubernetes 版本: 1 ...

  8. kubeoperator 使用外部mysql

    1.导出 kubeoperator 的数据库 sql 文件,然后导入到外部mysql 2.正常关闭 kubeoperator 3.关闭 kubeoperator 不会影响已经部署的 k8s 集群 4. ...

  9. 安装Alertmanager,nginx配置二级路径代理访问

    安装配置 Alertmanager wget https://github.com/prometheus/alertmanager/releases/download/v0.20.0/alertman ...

  10. Gitlab添加K8S集群

    介绍如何在Gitlab项目中添加K8S集群,以便使用K8S集群部署gitlab-runner帮我们运行gitlab的CI/CD. 参考官方文档:https://docs.gitlab.com/ee/u ...