返回顶部
首页 > 资讯 > 精选 >vue3怎么使用defineExpose
  • 526
分享到

vue3怎么使用defineExpose

2023-07-05 13:07:24 526人浏览 泡泡鱼
摘要

这篇文章主要介绍了vue3怎么使用defineExpose的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue3怎么使用defineExpose文章都会有所收获,下面我们一起来看看吧。可以通过 def

这篇文章主要介绍了vue3怎么使用defineExpose的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue3怎么使用defineExpose文章都会有所收获,下面我们一起来看看吧。

可以通过 defineExpose 编译器宏来显式指定在 <script setup> 组件中要暴露出去的属性:

<script setup>import { ref } from 'vue'const a = 1const b = ref(2)defineExpose({  a,  b})</script>

当父组件通过模板引用的方式获取到当前组件的实例,获取到的实例会像这样 { a: number, b: number } (ref 会和在普通实例中一样被自动解包)

例子

父组件

<template>  <h3>defineExpose 使用 父组件</h3>  <child ref="getChildData"></child></template><script setup lang="ts">import Child from "@/components/exposeChildren.vue"import { ref,onMounted,toRaw} from 'vue'    // 文档说setup写在script上组件是关闭的    // 也就是说父组件使用getChildData.xxx访问不到子组件的数据    // 此时我们需要用defineExpose把需要传递的数据暴露出去,这样外部才能访问到    // 同理也可以接收外部传来的值const getChildData = ref(null)const obj = {    name: 'alan',    desc: '大笨蛋',    age: 18}const cc= getChildData.value?.['num']console.log(cc) //undefined,此时还未找到子组件暴露的数据onMounted(()=>{  //获取子组件的data数据,什么时候获取根据自己业务来  const bb:any= getChildData.value?.['updata']  console.log(bb()) // 123,这时候得到的是子组件的初始值,因为还未给子组件传递数据  const a:any= getChildData.value?.['getData']   a(obj) ////给子组件传递数据  const b:any= getChildData.value?.['updata']  const c= getChildData.value?.['num']  console.log(toRaw(b())) // {name: 'alan', desc: '大笨蛋', age: 18} ,这里得到的是个proxy,所以需要toRaw()方法转成对象   console.log(c) // 666})</script><style scoped></style>

子组件

<template>  <h3>defineExpose 使用 子组件</h3>  <div>{{ data }}</div></template><script setup lang="ts">import { ref, defineExpose } from 'vue'const data = ref(123)const num = ref(666)defineExpose({    updata(){        return data.value //暴露出去父组件可以拿到data的数据.此时值为123    },    getData(res:any){        data.value = res //父组件传递来的值赋值给data        // 此时的data变成了 Proxy        //     {        //     name: 'alan',        //     desc: '大笨蛋',        //     age: 18        //     }    },    num})</script><style scoped></style>

关于“vue3怎么使用defineExpose”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“vue3怎么使用defineExpose”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: vue3怎么使用defineExpose

本文链接: https://lsjlt.com/news/352015.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue3怎么使用defineExpose
    这篇文章主要介绍了vue3怎么使用defineExpose的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue3怎么使用defineExpose文章都会有所收获,下面我们一起来看看吧。可以通过 def...
    99+
    2023-07-05
  • vue3 使用defineExpose的实例详解
    目录例子可以通过 defineExpose 编译器宏来显式指定在 <script setup> 组件中要暴露出去的属性: <...
    99+
    2023-03-19
    vue3 使用defineExpose vue3 defineExpose
  • 怎么使用vue3的setup()
    本篇内容主要讲解“怎么使用vue3的setup()”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用vue3的setup()”吧!从 vue2 升级到 vue3,vue3 是可以兼容 vue...
    99+
    2023-06-25
  • Vue3中Vuex怎么使用
    本篇内容介绍了“Vue3中Vuex怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Vuex是做什么的?Vue官方:状态管理工具状态管理...
    99+
    2023-07-02
  • Vue3中怎么使用TypeScript
    如何声明字段名为枚举的类型?根据设计,type 字段应该是一个枚举值,不应该由调用方随意设置。下面是 Type 的枚举声明,共有 6 个字段。enum Type { primary = "primary", ...
    99+
    2023-05-14
    TypeScript Vue3
  • vue3中getCurrentInstance怎么使用
    父组件中:1.setup语法糖中导入子组件2.在子组件标签上绑定ref值3.setup内部从vue中按需导出 getCurrentInstance 方法4.调用getCurrentInstance方法导出proxy5.通过proxy.$re...
    99+
    2023-05-16
    Vue3 getcurrentinstance
  • Vue3中TypeScript怎么使用
    如何声明字段名为枚举的类型?根据设计,type 字段应该是一个枚举值,不应该由调用方随意设置。下面是 Type 的枚举声明,共有 6 个字段。enum Type { primary = "primary", ...
    99+
    2023-05-18
    TypeScript Vue3
  • vue3中localStorage怎么使用
    在Vue3中,可以通过以下方式来使用localStorage:1. 获取localStorage的值:```javascriptco...
    99+
    2023-08-09
    vue3 localStorage
  • vue3中cookie怎么使用
    这篇“vue3中cookie怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue3中cookie怎么使用”文章吧。前...
    99+
    2023-07-06
  • vue3中怎么使用swiper
    今天小编给大家分享一下vue3中怎么使用swiper的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。介绍在 vue3 中使用 ...
    99+
    2023-07-05
  • Vue3的provide/inject怎么使用
    本文小编为大家详细介绍“Vue3的provide/inject怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue3的provide/inject怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思...
    99+
    2024-04-02
  • 怎么使用vue3中的axios
    这篇文章主要讲解了“怎么使用vue3中的axios”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用vue3中的axios”吧!使用 axios 之前,需要先安装好。yarn ...
    99+
    2023-06-25
  • vue3中的$refs怎么使用
    这篇文章主要介绍“vue3中的$refs怎么使用”,在日常操作中,相信很多人在vue3中的$refs怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue3中的$refs怎么使用”的疑惑有所帮助!接下来...
    99+
    2023-06-29
  • vuex在vue3中怎么使用
    这篇文章主要介绍“vuex在vue3中怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vuex在vue3中怎么使用”文章能帮助大家解决问题。在vue3中,vuex用于储存和管理所有组件的状态,...
    99+
    2023-06-29
  • vue3中vue-meta怎么使用
    这篇文章主要介绍了vue3中vue-meta怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue3中vue-meta怎么使用文章都会有所收获,下面我们一起来看看吧。vue-meta的使用方法meta标签...
    99+
    2023-07-02
  • vue3中的reactive()怎么使用
    本篇内容介绍了“vue3中的reactive()怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!调试版本为3.2.45什么是react...
    99+
    2023-07-04
  • vue3 table组件怎么使用
    基础表格首先开发table组件之前,先想好要用什么样式的api,因为笔者在生产工作中用的都是element,所以前面几个组件风格和element类似,但是这次不打算用element的风格了,打算换一种,直接展示:我们期望用户这样使用:<...
    99+
    2023-05-14
    Vue3 table
  • vue3下的watch怎么使用
    对于WatchOptions的参数配置:deep:当需要对对象等引用类型数据进行深度监听时,设置deep: true,默认值是false。immediate:默认情况下watch是惰性的,设置immediate: true时,watch会在...
    99+
    2023-05-17
    Vue3 watch
  • Vue3里的EffectScope怎么使用
    Vue 3.2 版本引入了新的 Effect scope API,使用 effectScope 创建一个 effect 作用域,可以捕获其中所创建的响应式副作用 (即计算属性和侦听器),这样捕获到的副作用可以一起处理。getCurrentS...
    99+
    2023-05-17
    Vue3
  • vue3中的createApp怎么使用
    函数定义createApp函数定义在文件 packages/runtime-dom/src/index.ts中export const createApp = ((...args) => { const app = ensureR...
    99+
    2023-05-23
    Vue3 createapp
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作