Vue(15)——组合式API②

server/2024/9/23 6:29:07/

生命周期函数 

选项式组合式
beforeCreate/createdsetup
beforeMountonBeforeMount            
mountedonMouned
beforeUpdateonBeforeUpdate
updatedonUpdated
beforeUnmountonBeforeUnmount
unmountedonUnmounted

父子通信

父传子基本思想:

  1. 父组件中给子组件绑定属性
  2. 子组件内部通过props选项接收

子传父基本思想:

  1. 父组件中给子组件标签通过@绑定事件
  2. 子组件内部通过emit方法触发事件 

 

模版引用

通过ref标识获取真实的dom对象或者组件实例对象

  1. 调用ref函数生成一个ref对象
  2. 通过ref标识绑定ref对象到标签

 获取dom对象:

<script setup>
import { onMounted, ref } from 'vue';
import test from './components/test.vue';const inp = ref(null)
//生命周期钩子
onMounted(()=>{console.log(inp.value);// inp.value.focus()
})
const clifn = () =>{inp.value.focus()
}
</script><template><div><input ref="inp" type="text"><button @click="clifn">点击聚焦</button></div><test></test>
</template>


获取组件:

默认情况下<script setup>语法糖下组件内部的属性和方法是不开放给父组件访问的,可以通过defineExpose编译宏指定哪些属性和方法允许访问

 


<script setup>
import { onMounted, ref } from 'vue';
import test from './components/test.vue';const testref = ref(null)const getref = () =>{console.log(testref);console.log(testref.value);}
</script><template><test ref="testref"></test><button @click="getref">获取组件</button></template>

             

provide, inject

顶层组件向任意的底层组件传递数据和方法,实现跨组件通信

跨层传递普通数据:

1.顶层组件通过provide函数提供数据

2.底层组件通过inject函数获取数据

 

<script setup>
import { provide} from 'vue';
import centerCom from './components/center-com.vue';provide('theme-color','pink')
</script><template>
<div><h1>我是顶层组件</h1><centerCom></centerCom>
</div>
</template>
<script setup>
import { inject } from 'vue';const themecolor = inject('theme-color')
</script><template>
<div><h3>我是底层组件{{ themecolor }}</h3>
</div>
</template>

 跨层传递响应式数据:

想要在子组件改变父组件定义的数据,只需要父组件使用provide提供函数,在子组件接收就行。


http://www.ppmy.cn/server/120673.html

相关文章

【鼠标滚轮专用芯片】KTH57913D 霍尔位置传感器

KTH5791 3D 霍尔位置传感器 -- 鼠标滚轮专用芯片 KTH5791AQ3QNS 产品概述 KTH5791 是一款基于 3D 霍尔磁感应原理的鼠标滚轮专用芯片&#xff0c;主要面向鼠标滚轮的旋转的应用场景。两个专用的正交输出使该产品可直接替代机械和光学旋转编码器的输出方式&#xff0c;使得鼠标…

计算机毕业设计Python深度学习房价预测 房价可视化 链家爬虫 房源爬虫 房源可视化 卷积神经网络 大数据毕业设计 机器学习 人工智能 AI

《Python房价预测系统》开题报告 一、选题背景与意义 1.1 选题背景 随着城市化进程的加速和居民生活水平的提高&#xff0c;房地产市场成为全球经济发展的重要驱动力之一。房价作为房地产市场的重要指标&#xff0c;不仅关系到国家经济安全&#xff0c;也直接影响广大人民群…

清空当前机器所有Docker容器和镜像

sudo docker stop $(sudo docker ps -aq) sudo docker rm $(sudo docker ps -aq) sudo docker rmi $(sudo docker images -q)删除当前机器上的所有Docker镜像是一个高风险操作&#xff0c;因为它会删除所有镜像&#xff0c;包括那些可能正在被容器使用的镜像。在执行此操作之前…

Java 入门指南:JVM(Java虚拟机)垃圾回收机制 —— 内存分配和回收规则

文章目录 垃圾回收机制堆空间的基本结构内存分配和回收规则对象优先在 Eden 区分配分配担保机制 大对象直接进入老年代长期存活的对象进入老年代主要进行 GC 的区域部分收集 (Partial GC)&#xff1a;Minor GCMajor/Old GCMixed GC 整堆收集&#xff08;Full GC&#xff09; 空…

Nginx 负载均衡:优化网站性能与可扩展性的利器

在当今高流量的互联网时代&#xff0c;网站的性能和可扩展性成为了衡量其成功与否的关键因素之一。随着用户量的不断增加&#xff0c;单一服务器往往难以承受巨大的访问压力&#xff0c;这时就需要引入负载均衡技术来分散请求&#xff0c;提高系统的整体性能和可靠性。Nginx&am…

计算机网络第二章(部分)

R1. 五种非专用的因特网应用及它们所使用的应用层协议: 电子邮件 (Email) - 使用 SMTP&#xff08;简单邮件传输协议&#xff09;文件传输 (File Transfer) - 使用 FTP&#xff08;文件传输协议&#xff09;网页浏览 (Web Browsing) - 使用 HTTP/HTTPS&#xff08;超文本传输协…

2D目标检测常用loss

在2D目标检测任务中&#xff0c;常用的损失函数&#xff08;Loss&#xff09;主要用于优化以下三个关键方面&#xff1a; 类别分类&#xff08;Classification&#xff09;&#xff1a;用于区分检测到的对象属于哪一类。边界框回归&#xff08;Bounding Box Regression&#x…

5.《DevOps》系列K8S部署CICD流水线之K8S通过Yaml部署GitLab

架构 服务器IP服务名称硬件配置192.168.1.100k8s-master8核、16G、120G192.168.1.101k8s-node18核、16G、120G192.168.1.102k8s-node28核、16G、120G192.168.1.103nfs2核、4G、500G操作系统:Rocky9.3 后续通过K8S部署Jenkins NFS的SC创建参考:2.《DevOps》系列K8S部署CICD流…