当前位置: 首页 > news >正文

VUE -- defineExpose

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.lryc.cn/news/10044.html

相关文章:

  • 实用调试技巧【下篇】
  • 【数据结构期末例题】
  • 管理物理和快照备数据库(Physical and Snapshot Standby Databases)
  • 双目立体视觉:SAD算法
  • 海外问卷调查答题技巧,纯干货分享,新手小白看过来
  • 【NGINX入门指北】Nginx Web 架构实验
  • rtt-nano移植
  • cnn+transformer
  • Python fileinput模块:逐行读取多个文件
  • Vue3路由传参
  • 用户管理——认证功能JWT和Session
  • hashlib — 加密哈希算法
  • 四喜临门选股预警源码指标
  • Kotlin新手教程五(扩展)
  • QT入门Containers之Widget、Frame
  • 数据结构与算法基础-学习-12-线性表之顺序队
  • Python 字典(Dictionary)小窍门
  • 知识图谱构建技术综述
  • 环境变量和进程地址空间
  • 【数据结构】栈和队列
  • sql复习(视图、Top-N分析、其他数据库对象)
  • 2023年私募股权基金研究报告
  • Redis单点故障+红锁原理
  • 数据库中的存储过程
  • 基于 VPX 总线的工件台运动控制系统研究与开发-DSP+FPGA硬件架构(一)
  • Android 9.0 根据包名授予app所需的权限
  • 如何将Python包发布到PyPI上,使用pip安装自己的库
  • 【Git】git常用命令总结
  • Cortex-M0中断控制和系统控制
  • 科技云报道:2023,云计算的风向变了