VUE -- defineExpose

news2024/9/21 23:32:17

defineExpose

    • 定义
    • demo

定义

defineExpose定义:用于组件通信中父级组件调用操作子组建方法和响应式属性参数能力

在使用definExpose前需要了解两个拷贝对象函数

对象copy:shallowReactive 与 数据 copy:shallowRef

这两个都是vue包里面的


简单带过一下

shallowReactive :处理对象最外层属性的响应式(浅响应式)。
shallowRef:只处理基本数据类型的响应式, 不进行对象的响应式处理。


demo

<template>
    
    
    <div>
        <el-button>
            方法: {{ method }}
        </el-button>
        
        <el-button>: {{ num }}
        </el-button>
        
        <el-button>
            {{ props.name }}
        </el-button>
    </div>

</template>

<script lang="ts" setup>


const props = withDefaults(defineProps<{
    name: string
}>(), {
    name: "默认值"
    
})


const num = ref(123)
const method = ref("")

function changMethod(){
    method.value="父类调用了这个方法改变了值"
}


defineExpose({
    num,
    changMethod
})

</script>

子组建定义了一个响应式值和一个方法

<template>
    <edit ref="editInfo" :name=ref1></edit>
    
    <el-button @click="handleClick()">传入子类按钮</el-button>
    <el-button @click="handleClick1()">改变子类属性按钮</el-button>
    <el-button @click="handleClick2()">调用子类方法按钮</el-button>
    
    
</template>
<script lang="ts" setup>
import Edit from './edit.vue'
import EditPopup from "@/views/permission/admin/edit.vue";

const editInfo = shallowRef(Edit)

console.log("editInfo",editInfo)

let ref1 = ref();


function handleClick() {
    ref1.value = "你好"
}

function handleClick1(){
    editInfo.value.num=222
    
}
function handleClick2(){
    editInfo.value.changMethod()
}

</script>

父组建定义了两个按钮,分别是调用操作子组建的值,和调用子组建的方法

定义了 const editInfo = shallowRef(Edit) 将子组建的属性copy了一份 叫做 editinfo
并且指定了这份数据处理对象 <edit ref="editInfo" :name=ref1></edit>

由ref 挂靠。后面是一些操作图片

在这里插入图片描述

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

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

相关文章

图片文字识别OCR调研-中文

直接看效果对比 tesseract-ocr 该识别引擎最新版本tesseract4添加了支持神经网络&#xff08;LSTM&#xff09;的&#xff0c;该引擎专注于线条识别&#xff0c; 同时也保留了Tesseract OCR 引擎&#xff0c;该引擎通过识别字符模式来工作。 我们需求端的后台语言是go&#x…

时尚高级实用,零跑C01满足各种用车需求

零跑C01在新能源车市场上销量可观且口碑较好&#xff0c;为什么消费者会相中这个国产车全域自主研发的新能源车呢&#xff1f;下面的介绍会给出答案。就其外观而言&#xff0c;零跑C01的外观定位于中大型轿车&#xff0c;在外观设计上充分考虑到美学观念。零跑给出了七个车身颜…

扬帆优配|日均客运量恢复,民航业加速复苏,外资买入2股超亿元

春运民航客运量康复至疫情前七成。 2月16日&#xff0c;民航局举行2月例行新闻发布会。会上介绍&#xff0c;自1月7日至2月15日&#xff0c;春运40天&#xff0c;民航运送旅客5523万人次&#xff0c;日均客运量138万人次&#xff0c;同比去年春运添加39%&#xff0c;康复至2019…

Lesson5.1---Python 之 NumPy 简介和创建数组

一、NumPy 简介 NumPy&#xff08;Numerical Python&#xff09;是 Python 的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵&#xff0c;比 Python 自身的嵌套列表&#xff08;nested list structure&#xff09;结构要高效的多&#xff08;该结构也可以用来表示…

【贰】嵌入式系统的分类

随手拍拍&#x1f481;‍♂️&#x1f4f7; 日期: 2022.08.31 地点: 杭州 介绍: 2022.08.31下午一点&#xff0c;在闷热的学校里实在是待不下去了&#xff0c;跑到了门口的钱塘江边散了一会儿步&#x1f6b6;正值盛夏&#xff0c;八月即将完结&#xff0c;日子越过越快&#x1…

FPGA MAX 10 10M50系列10M50DAF484C8G/10M50DAF484C7G/10M50DCF484C7G规格

介绍MAX 10器件是单芯片、非易失性低成本可编程逻辑器件(pld)&#xff0c;用于集成最优的系统组件集。MAX 10设备的亮点包括:内部存储双配置闪存用户闪存即时支持集成模数转换器(adc)支持Nios II单芯片软核处理器MAX 10设备是系统管理、I/O扩展、通信控制平面、工业、汽车和消费…

ant design vue 组件中经常会出现 label过长被盖住的情况

ant design vue 组件中经常会出现 label过长被盖住的情况&#xff0c;我还特地找了解决方法&#xff1a;当过长时让他换行显示&#xff0c;还写了一篇博客记录&#xff0c;今天同样是写代码&#xff0c;但并没有做特殊的设置&#xff0c;结果却出乎意料的正常&#xff0c;过长自…

2023美赛A题:收干旱影响的植物群落(MCM)思路Python代码

赛题目的:分析干旱程度与植物群落中物种数量的关系赛题解读&解题思路链接: (1)这道题的难点是寻找数据,如果能找到干旱程度的适应性代表的指标以及对应植物群落物种的数量,那这道题基本上是迎刃而解,只需要简单去搭建一个预测模型即可仿真 (2)目标是对马萨马拉这个…

基于dll注入 读取任务管理器中指定进程的详细信息

关键字 注入dll&#xff0c;遍历ListView 技术调研背景 QA测试程序时&#xff0c;往往需要关注进程的性能指标&#xff0c;比如&#xff1a;CPU&#xff0c;GPU&#xff0c;内存&#xff0c;显存。最终根据各个采样数据&#xff0c;生成基于时间轴的状态表&#xff08;类似任…

37.网络结构与模型压缩、加速-4

37.1 减少网络碎片化程度(分支数量) 模型中分支数量越少,模型速度越快 此结论主要是由实验结果所得。 以下为网络分支数和各分支包含的卷积数目对神经网络速度的影响。 实验中使用的基本网络结构,分别将它们重复10次,然后进行实验。实验结果如下: 由实验结果可知,随着网络…

【JVM与性能调优】JVM常用指令之Javap详解

一、JavaP 命令是什么&#xff1f; JavaP 命令是 Java 语言的一种工具 &#xff0c;Java中一种反汇编器&#xff01; 二、JavaP 命令的作用 帮助开发者深入了解 Java 编译器的机制显示字节代码含义显示编译类文件中的可访问功能和数据查看Java类文件中类和接口的内部结构显示…

Mybatis执行完新增操作后,对象的ID主键被修改了的原因【mybatis-spring-boot-starter开源项目的贡献者解答】

Mybatis执行完新增操作后&#xff0c;对象的Id主键被修改了的原因问题由来问题分析解决方案感谢问题由来 首先说下背景&#xff0c;项目的依赖是&#xff1a;mybatis-spring-boot-starter&#xff1a;1.3.2 进行新增操作后&#xff0c;一般来说入库就算完事了&#xff0c;但是除…

基础篇:04-Eureka服务注册与发现

目录 1.Eureka工程搭建启动 打开Idea-Service控制台 2.user-service接入并启动 2.1 引入pom依赖 2.2 更新配置文件 2.3 启动并查看Eureka信息 2.3 复制模拟多实例部署 3.order-service接入并启动 4.常见问题及解决方案 5.总结 6.推荐阅读资料 因前面提到Netflix相关…

webpack -- 无法将“webpack”项识别为 cmdlet

webpack : 无法将“webpack”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果包括路径&#xff0c;请确保路径正确&#xff0c;然后再试一次。 1.检测是否是版本太高而只能使用脚手架进行打包 webpack4.x的打包已经不能用webpack 文件a …

phpStudy服务

1 概述 1.1 安装说明 1. 安装路径不能包含“中文”或者“空格”&#xff0c;否则会报错&#xff08;例如错误提示&#xff1a;Cant change dir to G:\\x65b0\x5efa\x6587\&#xff09;保证安装路径是纯净的&#xff0c;安装路径下不能有已安装的V8版本&#xff0c;若重新安装…

数据结构与算法基础-学习-12-线性表之顺序队

一、个人理解队列是线性表的衍生之一&#xff0c;具有先进先出的特性&#xff0c;在队尾进行插入操作&#xff0c;在队头进行删除操作。队列的存储结构分为两个大类&#xff0c;一种是顺序队&#xff0c;就是用数组实现。另一种就是链队&#xff0c;使用链表实现。顺序队存在真…

20基于主从博弈的智能小区代理商定价策略及电动汽车充电管理MATLAB程序

参考文档&#xff1a;《基于主从博弈的智能小区代理商定价策略及电动汽车充电管理》基本复现仿真平台&#xff1a;MATLABCPLEX/gurobi平台优势&#xff1a;代码具有一定的深度和创新性&#xff0c;注释清晰&#xff0c;非烂大街的代码&#xff0c;非常精品&#xff01;主要内容…

Vue3路由传参

vue3路由和vue2差别不是很大&#xff0c;不过在传参形式上略有改变 在Vue3中使用路由必须引入 useRouter 和 useRoute import { useRoute, useRouter } from vue-routerconst Router useRouter() //跳转const Route useRoute() //获取到值 同Vue2一样&#xff0c;query使用p…

实用调试技巧【下篇】

&#x1f534;本文章是在 Visual Studio 2022&#xff08;VS2022&#xff09;编译环境下进行操作讲解 文章目录3.2.调试的时候查看程序当前信息3.2.1.查看临时变量的值3.2.2.查看内存信息3.2.3.查看调用堆栈3.2.4.查看汇编信息&#x1f973;4.调试实例&#x1f973;5.如何写出&…

【笔记】数据异常检测与修复总结

文章目录一、异常种类1. 对于移动对象的数据异常2. 对于时序数据的异常检测二、异常数据清洗流程三、数据预处理四、异常检测算法五、异常修复算法六、漂移数据清洗一、异常种类 不同的研究对象&#xff0c;有着不同的异常分类方式 1. 对于移动对象的数据异常 异常数据信息&…