VUE之组件通信(二)

1、v-model

v-model的底层原理:是:value值和@input事件的结合

$event到底是啥?啥时候能.target

  • 对于原生事件,$event就是事件对象 ,能.target
  • 对应自定义事件,$event就是触发事件时,所传递的数据,不能.target
<template><div class="father"><h3>父组件</h3><!-- v-model用在html标签上--><input type = "text" v-model="username"><!-- 双向绑定 --><!-- <input type="text" :value="username" @input="username=(<HTMLInput Element>$event.target).value">--><!-- v-model用在组件标签上--><AtMyInput v-model="username" /><!--等价于下面--><AtMyInput :modelValue="username"@update:modelValue="username = $event"/><!-- 修改modelvalue --><AtMyInput v-model:qwe="username" /><div>
</template><script setup lang="ts" name="Father">import {ref} from "vue";// 数据let username = ref('zhangsan')</script>>> AtMyInput.vue<template><input type="text" <!-- :value = "modelValue" -->:value = "qwe"<!-- @input="emit('update:modelValue',(<HTMLInput Element>$event.target).value)"> -->
@input="emit('update:qwe',(<HTMLInput Element>$event.target).value)">
</template><script setup lang="ts" name="AtMyInput"><!-- defineProps(['modelValue'])-->
defineProps(['qwe'])<!--  const emit = defineEmits(['update:modelValue']) -->const emit = defineEmits(['update:qwe'])
</script>

2、$attrs

1、概述:$attrs用于实现当前组件的父组件,向当前组件的子组件通信(祖->孙)

2、具体说明:$attrs是一个对象,包含所有父组件传入的标签属性。

注意:$attrs会自动排除props中声明的属性(可以认为声明过的props被子组件自己“消费”了)

<template><div class = "father"><h3>父组件</h3><h4>a:{{a}} </h4><h4>b:{{b}} </h4><h4>c:{{c}} </h4><h4>d:{{d}} </h4><Child :a="a" :b="b" :c="c" :d="d" v-bind="{x:100,y:200}" :updateA="updateA"/></div>
</template><script setup lang="ts" name="Father">import Child from './Child.vue'import {ref} from 'vue'let a = ref(1)let b = ref(2)let c = ref(3)let d = ref(4)function updateA(value:number){a.value += value}
</script>
<template><div class = "child"><h3>子组件</h3><h4>a:{{a}} </h4><GrandChild v-bind="$attrs"/></div>
</template><script setup lang="ts" name="Child">import GrandChild from './GrandChild.vue'defineProps(['a'])
</script>
<template><div class = "father"><h3>孙组件</h3><h4>a:{{a}}</h4><h4>b:{{b}}</h4><h4>c:{{c}}</h4><h4>d:{{d}}</h4><h4>x:{{x}}</h4><h4>y:{{y}}</h4><button @click="updateA(6)">点我将爷爷那的a进行更新</button><Child/></div>
</template><script setup lang="ts" name="Father">import Child from './Child.vue'defineProps(['a','b','c','d','x','y','updateA'])</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/68053.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/68053.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P2036 [COCI 2008/2009 #2] PERKET(dfs)

#include<bits/stdc.h> using namespace std;int n; int a[15],b[15]; int ansINT_MAX; // 初始化最小差值为一个很大的数&#xff0c;保证能找到最小值void dfs(int i,int s,int k){if(in){ // 当遍历完所有元素时if(s1&&k0) return;int difabs(s-k);ans mi…

论文解读:《基于TinyML毫米波雷达的座舱检测、定位与分类》

摘要 本文提出了一种实时的座舱检测、定位和分类解决方案&#xff0c;采用毫米波&#xff08;mmWave&#xff09;雷达系统芯片&#xff08;SoC&#xff09;&#xff0c;CapterahCAL60S344-AE&#xff0c;支持微型机器学习&#xff08;TinyML&#xff09;。提出了波束距离-多普勒…

ORB-SLAM2源码学习:KeyFrame.cc④: void KeyFrame::UpdateBestCovisibles更新最佳共视

前言 在添加新连接之后就要重新对所有的共视关键帧和权重的那两个列表重新进行降序排列&#xff0c;这样非常容易知道列表的第一位就是最佳共视关键帧和权重。 总的来说就是只要权重发生了变化就要调用这个函数来修改mvpOrderedConnectedKeyFrames共视关键帧和mvOrderedWeigh…

尚硅谷课程【笔记】——大数据之Shell【一】

课程视频&#xff1a;【【尚硅谷】Shell脚本从入门到实战】 一、Shell概述 为什么要学习Shell&#xff1f; 1&#xff09;需要看懂运维人员的Shell程序 2&#xff09;偶尔编写一些简单的Shell程序来管理集群、提高开发效率 什么是Shell&#xff1f; 1&#xff09;Shell是一…

ES6 对象扩展:对象简写,对象属性 表达式,扩展运算符 ...,Object.assign,Object.is,用法和应用场景

1. 对象属性简写 1.1 基本语法 // 传统写法 const name John; const age 25; const user {name: name,age: age };// ES6 简写语法 const user {name,age };1.2 实际应用场景 // 1. 函数返回对象 function createUser(name, age, email) {return {name,age,email}; }// …

【2025】camunda API接口介绍以及REST接口使用(3)

前言 在前面的两篇文章我们介绍了Camunda的web端和camunda-modeler的使用。这篇文章主要介绍camunda结合springboot进行使用&#xff0c;以及相关api介绍。 该专栏主要为介绍camunda的学习和使用 &#x1f345;【2024】Camunda常用功能基本详细介绍和使用-下&#xff08;1&…

Java进阶学习之路

Java进阶之路 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 Java进阶之路前言一、Java入门 Java基础 1、Java概述 1.1 什…

JAVA安全—反射机制攻击链类对象成员变量方法构造方法

前言 还是JAVA安全&#xff0c;哎&#xff0c;真的讲不完&#xff0c;太多啦。 今天主要是讲一下JAVA中的反射机制&#xff0c;因为反序列化的利用基本都是要用到这个反射机制&#xff0c;还有一些攻击链条的构造&#xff0c;也会用到&#xff0c;所以就讲一下。 什么是反射…

TfidfVectorizer

TF-IDF / Term Frequency - Inverse Document Frequency 作用&#xff1a;是自然语言处理NLP中常用的文本特征提取工具&#xff0c;用于将文本数据转换为数据向量。 核心思想&#xff1a;是通过统计词频和逆文档频率来量化词语在文本中的重要性。 T F − I D F ( t , d ) T F…

DeepSeek-R1 论文解读:强化学习如何 “炼” 出超强推理模型?

深度解析DeepSeek-R1&#xff1a;强化学习驱动大语言模型推理能力新突破 论文链接&#xff1a;DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning 在大语言模型&#xff08;LLMs&#xff09;飞速发展的当下&#xff0c;提升模型推理能力成…

【数据结构】循环链表

循环链表 单链表局限性单向循环链表判断链表是否有环思路code 找到链表入口思路代码结构与逻辑 code 单链表局限性 单链表作为一种基本的数据结构&#xff0c;虽然在很多场景下都非常有用&#xff0c;但它也存在一些局限性&#xff1a; 单向访问&#xff1a;由于每个节点仅包含…

ip属地是手机号还是手机位置?一文理清

在数字化和网络化的今天&#xff0c;IP属地这一概念逐渐成为了人们关注的焦点。特别是在社交媒体和在线平台上&#xff0c;IP属地的显示往往让人联想到用户的地理位置。然而&#xff0c;关于IP属地到底与手机号还是手机位置有关&#xff0c;却存在着不少误解和混淆。本文将深入…

【嵌入】基于nomic-embed-text-v1.5和HuggingFaceEmbeddings实现

测试代码 model_name = /media/zhangbin/DATA/DataCache/nomic-ai/nomic-embed-text-v1.5import osos.environ[HF_HOME] = /media/zhangbin/DATA/DataCache/#os.environ["TRANSFORMERS_CACHE"] = "/media/zhangbin/DATA/DataCache/" # 确保目录结构正确 if…

离散时间傅里叶变换(DTFT)公式详解:周期性与连续性剖析

摘要 离散时间傅里叶变换&#xff08;DTFT&#xff09;是数字信号处理领域的重要工具&#xff0c;它能将离散时间信号从时域转换到频域&#xff0c;揭示信号的频率特性。本文将深入解读DTFT公式&#xff0c;详细阐述其具有周期性和连续性的原因&#xff0c;帮助读者全面理解DT…

哈希表与散列表的原理及C++实现

1. 什么是哈希表&#xff1f; 哈希表&#xff08;Hash Table&#xff09;是一种高效的数据结构&#xff0c;用于存储键值对&#xff08;Key-Value Pairs&#xff09;。它通过哈希函数&#xff08;Hash Function&#xff09;将键&#xff08;Key&#xff09;映射到一个固定大小…

图像分类与目标检测算法

在计算机视觉领域&#xff0c;图像分类与目标检测是两项至关重要的技术。它们通过对图像进行深入解析和理解&#xff0c;为各种应用场景提供了强大的支持。本文将详细介绍这两项技术的算法原理、技术进展以及当前的落地应用。 一、图像分类算法 图像分类是指将输入的图像划分为…

前端框架中 HTML 的应用技巧:React、Vue、Angular 深度解析

系列文章目录 01-从零开始学 HTML&#xff1a;构建网页的基本框架与技巧 02-HTML常见文本标签解析&#xff1a;从基础到进阶的全面指南 03-HTML从入门到精通&#xff1a;链接与图像标签全解析 04-HTML 列表标签全解析&#xff1a;无序与有序列表的深度应用 05-HTML表格标签全面…

Vue - customRef 自定义ref

customRef 作用&#xff1a;创建一个自定义的 ref , 并对其依赖项跟踪和更新触发进行逻辑控制。 在原生 ref 的基础上&#xff0c;添加自己的逻辑等... 在 Vue 3 中&#xff0c;customRef 是一个用于创建自定义响应式引用的 API。它允许开发者控制和优化响应式引用的行为&…

数字化转型:概念性名词浅谈(第四讲)

​大家好&#xff0c;本篇文章是在新年之际写的&#xff0c;所以在这里先给大家拜个年。 今天要介绍的名词为ETL: ETL&#xff0c;是英文Extract-Transform-Load的缩写&#xff0c;用来描述将数据从来源端经过抽取&#xff08;extract&#xff09;、转换&#xff08;transfor…

UE学习日志#22 C++笔记#8 基础复习8 string和string_view2

1 std::string_view类 string_view基本上就是const string&的简单替代品&#xff0c;但不会产生开销。他不复制字符串。 string_view添加了remove_prefix(size_t)和remove_suffix(size_t)方法&#xff0c;前者将起始指针给定的偏移量来收缩字符串&#xff0c;后者则将结尾指…