首页 > 其他分享 >defineExpose数据导出

defineExpose数据导出

时间:2024-09-06 10:24:49浏览次数:7  
标签:count const defineExpose ref 导出 value child 数据

  • 使用 <script setup> 的组件是默认关闭的——即通过模板引用或者 $parent 链获取到的组件的公开实例,不会暴露任何在 <script setup> 中声明的绑定。
  • 可以通过 defineExpose 编译器宏来显式指定在 <script setup> 组件中要暴露出去的属性

1.我们在使用之前定义一个count变量,将值放入defineExpose 进行传递,在写的时候要注意只有当名字相同时就可以只写变量名否则就需要跟下面那种保持一致

<template>
	<view class="out">
		子组件
	</view>
</template>

<script setup>
	import { ref} from "vue"
	const count=ref(100);
	
	defineExpose({
		count,
		str:"小虾米"
	})
</script>

<style lang="scss">
	.out{
		padding: 20px;
		background: #eee;
	}
</style>

然后我们在父类中使用ref接收一下名字可以自己取,完了之后需要用到onMounted生命周期钩子将我们的值在里面输出一下。

<template>
	<view class="layout">
		<Demo-child ref="child"></Demo-child>
	</view>
</template>

<script setup>
	import {ref,onMounted} from "vue"
	const child = ref(null);
	
	onMounted(()=>{
		console.log(child.value);
	});
</script>

<style>
	button{
		border: 1px solid black;
		background: aquamarine;
	}
</style>

可以看到接受到来自子类传过来的值

2.现在我这个操作进行一下升级,定义一个点击按钮来修改子类中的值,写一个函数让count中的值进行++的操作,注意啊这里写的函数传过去时不用加括号直接写名字就可以了

<template>
	<view class="out">
		子组件count的值:{{count}}
	</view>
</template>

<script setup>
	import { ref} from "vue"
	const count=ref(100);
	
	const updateCount=function(){
		count.value++;
	}
	
	defineExpose({
		count,
		str:"小虾米",
		updateCount
	})

</script>

<style lang="scss">
	.out{
		padding: 20px;
		background: #eee;
	}
</style>

在父类中写一个按钮并且定义一个点击事件,这里因为他是一个函数所以调用时要加括号

<template>
	<view class="layout">
		<Demo-child ref="child"></Demo-child>
		<button @click="update">点击修改</button>
	</view>
</template>

<script setup>
	import {ref,onMounted} from "vue"
	const child = ref(null);
	
	const update=function(){
		child.value.updateCount();
	}
	
	onMounted(()=>{
		console.log(child.value);
	});
</script>

<style>
	button{
		border: 1px solid black;
		background: aquamarine;
	}
</style>

这样但我们每次点击时就会修改它的值,可以看到count里value的值发生了变化

标签:count,const,defineExpose,ref,导出,value,child,数据
From: https://blog.csdn.net/2403_86834756/article/details/141942612

相关文章

  • 2024年9月广州、杭州、深圳CDAM数据资产管理师招生中
    人工智能与信息浪潮中,数据资源作为企业发展的核心要素,其可重组利用的无形价值显著。数据安全、利用、价值评估等工作,均关乎企业未来决策与发展。数据资产,是企业持续发展的关键因素。 在此背景下,CDAM数据资产管理师应运而生,他们在组织中担当数据资产的规划师、治理者、质控者、安全......
  • 电商数据API对店群商家有哪些优势
    电商数据API对店群商家而言,具有多方面的显著优势,这些优势能够帮助商家在激烈的市场竞争中脱颖而出,实现更高效、精准的运营和管理。以下是对这些优势的具体阐述:数据实时性与准确性:电商数据API能够直接对接电商平台的数据源,确保商家获取的数据是实时且准确的。这有助于商家......
  • 揭秘如何通过淘宝API接口高效获取商品数据
    在电子商务的世界里,数据就是力量。对于淘宝卖家来说,掌握店铺商品的全面数据是优化运营策略、提升销售业绩的关键。淘宝API,作为连接淘宝平台与外部应用的桥梁,提供了一键获取店铺所有商品的魔法钥匙。本文将带您踏上一场探秘之旅,揭秘如何利用淘宝API高效获取商品数据。一、淘宝API......
  • Python使用MySQL数据库
    安装MySQL-python要想使python可以操作mysql 就需要MySQL-python驱动,它是python 操作mysql必不可少的模块。下载地址:https://pypi.python.org/pypi/MySQL-python/下载MySQL-python-1.2.5.zip 文件之后直接解压。进入MySQL-python-1.2.5目录:>>python setup.py install ......
  • 【达梦】Docker安装达梦数据库 dm8
    1.docker启动达梦8镜像命令dockerrun-p5236:5236--namedmdb\-eLD_LIBRARY_PATH=/opt/dmdbms/bin\-ePAGE_SIZE=32\-eEXTENT_SIZE=32\-eLOG_SIZE=2048\-eUNICODE_FLAG=1\-eLENGTH_IN_CHAR=1\-eBLANK_PAD_MODE=1\-v/home/docker/dmdbms/data::/opt......
  • 列表插件过滤,指定用户不能看某些列表数据
    importclrclr.AddReference("System")clr.AddReference("Kingdee.BOS")clr.AddReference("Kingdee.BOS.Core")clr.AddReference("Kingdee.BOS.DataEntity")clr.AddReference("Kingdee.BOS.App")clr.AddReference("Ki......
  • IC设计企业进行云租户数据传输最大的问题是什么?如何解决?
    越来越多的IC设计企业基于云租户进行芯片的设计、仿真及验证流程,其原因在于:降低成本:由于资源共享,租户无需单独购买、部署和维护昂贵的硬件设备,只需按需付费,大大降低了初期投资和运营成本。弹性扩展:云租户可以根据业务需求快速、灵活地调整计算和存储资源,无需担心硬件限制或升级......
  • Vue+Echert集成实现数据可视化
    ApacheEChartsecherts官方文档 echerts依赖引入方式方式一:1.安装echarts依赖//二选一npminstallecharts--savenpminstallecharts-S//二选一npminstall-gcnpm--registry=https://registry.npm.taobao.orgcnpminstallecharts-S2.全局注入......
  • 用亚马逊云科技Graviton高性能/低耗能处理器构建AI向量数据库(上篇)
    简介:今天小李哥将介绍亚马逊推出的云平台4代高性能计算处理器Gravition,并利用该处理器构建生成式AI向量数据库。利用向量数据库,我们可以开发和构建多样化的生成式AI应用,如RAG知识库,特定领域知识的聊天机器人等。我们今天将手把手带大家在亚马逊云科技上,搭建一个目前大热的Milv......
  • 串口发送数据
    一、这是一篇描述怎么用串口发送数据的文章1.设计思想稍微介绍一下这个项目想要完成的效果是:每隔10ms,用串口发送一次数据。前一个项目完成了如何用串口发送8bit,这个项目是在前一个的基础上,写一个涵盖它的大模块。大模块把send_en、data信号传给子模块,子模块有了激励信号(而不用......