Vue3组件间传值
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组件间传值的更多相关文章
- Vue 组件间传值
前言 Vue 作为现在比较火的框架之一,相信您在使用的过程中,也会遇到组件间传值的情况,本文将讲解几种 Vue 组件间传值的几种方法,跟着小编一起来学习一下吧! 实现 注意: 学习本文,需要您对 Vu ...
- react组件间传值详解
一.父子组件间传值 <1>父传子 父组件:
- Vue中组件间传值常用的几种方式
版本说明: vue-cli:3.0 一.父子组件间传值 1.props/$emit -父组件==>>子组件: 子组件中通过定义props接收父组件中通过v-bind绑定的数据 父组件代码 ...
- Vue学习(二)-Vue中组件间传值常用的几种方式
版本说明:vue-cli:3.0 主要分为两类: 1.父子组件间的传值 2.非父子组件间的传值 1.父子组件间传值 父组件向子组件传值 第一种方式: props 父组件嵌套的子组件中,使用v-bind ...
- React Native 系列(五) -- 组件间传值
前言 本系列是基于React Native版本号0.44.3写的.任何一款 App 都有界面之间数据传递的这个步骤的,那么在RN中,组件间是怎么传值的呢?这篇文章将介绍到顺传.逆传已经通过通知传值. ...
- Vue组件间传值 v-model
使用过Vue的同学应该都了解组件之间传值 父组件 --> 子组件 : props 子组件 --> 父组件 : 事件 其实有一种更为简单的方法,是基于上述两种方法,那就是 v-model 我 ...
- Angular中不同的组件间传值与通信的方法
主要分为父子组件和非父子组件部分. 父子组件间参数与通讯方法 使用事件通信(EventEmitter,@Output): 场景:可以在父子组件之间进行通信,一般使用在子组件传递消息给父组件: 步骤: ...
- vue——父子组件间传值
(1)父组件给子组件传值(商品详情页): 根据订单类型,判断显示立即购买/立即拼单: 通过props来传递参数 父组件(商品详情页) 父组件调用子组件,在子组件的标签中,通过:数据名称=”数据”的形式 ...
- taro 填坑之路(二)taro 通过事件监听 实现组件间传值
1.组件传值的方式 2.事件监听原理 3.事件管理器 utils/event.js /** * 事件池(事件管理器) * 通过事件监听传值 */ class Event { constructor() ...
随机推荐
- c++的一些笔记
--const 的一些用法 1,修饰指针 const int *p=.... 可以改变指针所指的位置,但不能改变指向位置的值. 2,修饰变量 int const * p=.... 可以改变指向位 ...
- JDBC的学习 3-1
JDBC的学习 3-1 JDBC基本概念 快速入门 对JDBC中各个接口和类详解 JDBC : 概念 :Java DateBase Connectivity java数据库连接,Java语言操作数据库 ...
- Android平台RTMP/RTSP播放器开发系列--解码和绘制
本文主要抛砖引玉,粗略介绍下Android平台RTMP/RTSP播放器中解码和绘制相关的部分(Github). 解码 提到解码,大家都知道软硬解,甚至一些公司觉得硬解码已经足够通用,慢慢抛弃软解了,如 ...
- 解决swiper组件autoplay报错问题
最近在自定义一个swiper 插件 发现引用之后不定时一直在报错 Uncaught TypeError: Cannot read properties of undefined (reading 'a ...
- ACL和NAT
1 ACL 1.1 ACL的作用 1).用来对数据包做访问控制(丢弃或者放弃) 2).结合其他协议,用来匹配范围 1.2 ACL的工作原理 当数据包从接口经过时,由于接口启用了ACL,此时路由器会对报 ...
- Elasticsearch 快照生命周期管理 (SLM) 实战指南
文章转载自:https://mp.weixin.qq.com/s/PSfgPJc4dKN2pOZd0Y02wA 1.Elasticsearch 保证高可用性的方式 Elasticsearch 保证集群 ...
- jenkins邮箱配置
- Docker容器优雅重启
默认情况下,当 Docker 守护进程终止时,它将关闭正在运行的容器.您可以配置守护程序,以便容器在守护程序不可用时保持运行.此功能称为live-restore.live-restore选项有助于减少 ...
- 01_Typora学习
Typora学习 使用Typora 编辑器 一. 标题 一个#后加空格表示一级标题(快捷键Ctrl+1) 两个#后加空格表示二级标题(快捷键Ctrl+2) 以此类推,目前最多到六级标题(快捷键Ctrl ...
- 关于使用git传输文件到GitHub
git status(查看本地git仓库情况) git add "文件名(精确到文件拓展名)" git commit -m "说明"(提交到上传缓存区域) gi ...