uniapp使用defineExpose暴露和onMounted访问
defineExpose作用
暴露方法和数据
- 允许从模板或其他组件访问当前组件内部的方法和数据。
- 明确指定哪些方法和数据可以被外部访问,从而避免不必要的暴露。
增强安全性
- 通过显式声明哪些方法和数据可以被外部访问,防止意外修改内部状态。
- 提高组件的安全性,避免因误操作导致的问题。
提升可维护性
- 清晰地定义组件的边界,使其他开发者更容易理解和使用组件。
- 增强组件的可维护性,便于后续的开发和维护工作。
onMounted作用
DOM 操作
- 当你需要根据 DOM 的状态来执行某些操作时,可以在
onMounted钩子中进行。例如,设置某个元素的高度或宽度,或者初始化第三方插件。异步请求
- 组件挂载后,通常会触发一些异步请求来获取数据填充到页面中。这些请求通常在
onMounted钩子中发起。事件绑定
- 如果需要给 DOM 元素绑定事件监听器,那么
onMounted是一个合适的地方总结
defineExpose用于定义组件的公开 API,控制哪些方法和数据可以被外部访问。onMounted用于执行组件挂载完成后的一些初始化操作,如 DOM 操作、异步请求等。两者可以结合使用,以实现更安全、更高效的组件设计。在实际开发中,可以根据组件的具体需求来决定是否以及如何使用这两个特性。
示例
子组件定义:
defineExpose将name、age和show方法暴露给父组件<template><view>子组件</view> </template><script setup>import {ref} from 'vue';// 声明一个响应式变量name,初始值为'张三'var name = ref('张三')// 声明一个响应式变量age,初始值为18var age = ref(18)/*** 显示名称和年龄的方法* @returns {string} 返回名称和年龄的字符串*/var show = () => {return '名称' + name.value + ' 年龄' + age.value}// 导出name, age和show方法,以便父组件可以访问和调用defineExpose({name: name,age: age,show}) </script>
父组件定义
模板部分 (
<template>):
- 包含一个
bdqn-header组件,并通过ref属性将其引用赋值给student。- 三个
<view>元素分别显示student的name、age和调用show方法的结果。脚本部分 (
<script setup>):
- 引入
onMounted和ref函数。- 声明一个响应式变量
student,并初始化为null。- 在
onMounted钩子中打印student的值<template><!-- 使用ref属性绑定student对象 --><bdqn-header ref="student"></bdqn-header><!-- 条件渲染学生的姓名 --><view>{{student?.name}}</view><!-- 条件渲染学生的年龄 --><view>{{student?.age}}</view><!-- 调用student对象的show方法 --><view>{{ student?.show()}}</view> </template><script setup>// 导入Vue的core功能,包括ref和onMountedimport {onMounted,ref} from 'vue';// 定义一个可变的student引用,初始值为nullvar student = ref(null)// 在组件挂载完成后执行回调函数onMounted(() => {// 打印此时的student值,用于调试console.log(student.value);}) </script>
相关文章:
uniapp使用defineExpose暴露和onMounted访问
defineExpose作用 暴露方法和数据 允许从模板或其他组件访问当前组件内部的方法和数据。明确指定哪些方法和数据可以被外部访问,从而避免不必要的暴露。 增强安全性 通过显式声明哪些方法和数据可以被外部访问,防止意外修改内部状态。提高组件的安全性&a…...
怎么使用matplotlib绘制一个从-2π到2π的sin(x)的折线图-学习篇
首先:如果你的环境中没有安装matplotlib,使用以下命令可以直接安装 pip install matplotlib如何画一个这样的折线图呢?往下看 想要画一个简单的sin(x)在-2π到2π的折线图,我们要拆分成以下步骤: 先导入相关的库文…...
【Java毕业设计】基于SpringBoot+Vue+uniapp的农产品商城系统
文章目录 一、系统架构1、后端:SpringBoot、Mybatis2、前端:Vue、ElementUI4、小程序:uniapp3、数据库:MySQL 二、系统功能三、系统展示1、小程序2、后台管理系统 一、系统架构 1、后端:SpringBoot、Mybatis 2、前端…...
C++ | Leetcode C++题解之第390题消除游戏
题目: 题解: class Solution { public:int lastRemaining(int n) {int a1 1;int k 0, cnt n, step 1;while (cnt > 1) {if (k % 2 0) { // 正向a1 a1 step;} else { // 反向a1 (cnt % 2 0) ? a1 : a1 step;}k;cnt cnt >> 1;step …...
echarts进度
echarts图表集 const data[{ value: 10.09,name:制梁进度, color: #86C58C,state: }, { value: 66.00,name:架梁进, color: #C6A381 ,state:正常}, { value: 33.07,name:下部进度, color: #669BDA,state:正常 }, ];// const textStyle { "color": "#CED6C8&…...
PostgreSQL16.4搭建一主一从集群
PostgreSQL搭建一主一从集群的过程主要涉及到基础环境准备、PostgreSQL安装、主从节点配置以及同步验证等步骤。以下是一个详细的搭建过程: 一、基础环境准备 创建虚拟机: 准备两台虚拟机,分别作为主节点和从节点。为每台虚拟机分配独立的IP…...
Spring01——Spring简介、Spring Framework架构、Spring核心概念、IOC入门案例、DI入门案例
为什么要学 spring技术是JavaEE开发必备技能,企业开发技术选型命中率>90%专业角度 简化开发:降低企业开发的复杂度框架整合:高效整合其他技术,提高开发与运行效率 学什么 简化开发 IOCAOP 事务处理 框架整合 MyBatis 怎…...
深度学习|模型推理:端到端任务处理
引言 深度学习的崛起推动了人工智能领域的诸多技术突破,尤其是在处理复杂数据与任务的能力方面。模型推理作为深度学习的核心环节,决定了模型在真实应用场景中的表现。而端到端任务处理(End-to-End Task Processing)作为深度学习的一种重要范式,通过从输入到输出的直接映…...
【深度学习 Pytorch】2024年最新版本PyTorch学习指南
引言 2024年,深度学习技术在各个领域取得了显著的进展,而PyTorch作为深度学习领域的主流框架之一,凭借其易用性、灵活性和强大的社区支持,受到了广大研究者和开发者的喜爱。本文将为您带来一份2024年最新版本的PyTorch学习指南&a…...
第 1 章:原生 AJAX
原生AJAX 1. AJAX 简介 AJAX 全称为 Asynchronous JavaScript And XML,就是异步的 JS 和 XML。通过 AJAX 可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据。AJAX 不是新的编程语言,而是一种将现有的标准组合在一…...
【代码随想录|贪心part04以后——重叠区间】
代代码随想录|贪心part04以后——重叠区间 一、part041、452.用最少数量的箭引爆气球2、435. 无重叠区间2、763.划分字母区间3、56. 合并区间4、738.单调递增的数字总结python 一、part04 1、452.用最少数量的箭引爆气球 452. 用最少数量的箭引爆气球 class Solution:def f…...
Denodo 连续 4 年获评 Gartner® 数据集成工具魔力象限™ 领导者
Gartner 在其 2023 年数据集成工具魔力象限中连续第四年将 Denodo 评为“领导者”。 Gartner 表示:“由于对数据编织架构、数据产品交付以及支持生成式 AI 的集成数据的需求即将到来,数据集成工具市场正在蓬勃发展。数据和分析领导者应该利用这项研究来…...
WHAT - React 函数与 useMemo vs useCallback
目录 一、介绍useMemo 与 useCallback 的区别示例代码useMemo 示例useCallback 示例 总结 二、当一个函数被作为依赖项useMemo 和 useCallback 的适用情况选择使用 useCallback 或 useMemo总结实际例子 一、介绍 在 React 中,useMemo 和 useCallback 是两个用于性能…...
系统分析师7:数学与经济管理
文章目录 1 图论应用1.1 最小生成树1.2 最短路径1.3 网络与最大流量 2 运筹方法2.1 线性规划2.2 动态规划2.2.1 供需平衡问题2.2.2 任务指派问题 3 预测与决策3.1 不确定型决策分析3.2 风险型决策3.2.1 决策树3.2.2 决策表 4 随机函数5 数学建模 1 图论应用 ①最小生成树 连接…...
一套简约的qt 蓝色qss方案
一套简约的qt 蓝色qss方案 直接使用qss代码 QMenu {background: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 rgba(255, 255, 255, 240),stop:0.2 rgba(255, 255, 255, 200),stop:0.6 rgba(255, 255, 255, 160),stop:1 rgba(255, 255, 255, 120));qproperty-effect: blur…...
OCSP原理及实践
1.OCSP介绍 在PKI体系中,CA机构颁发合法的证书。使用者可以使用CA根证书验证该证书是否被篡改过,但无法从证书文件验证出证书是否被吊销。因此CA机构会通过发布CRL(Certificate Revocation List)来告知所有人,哪些证书…...
前端流程图框架
1、Mermaid: Mermaid 是一个用于绘制流程图、时序图、甘特图等的纯 JavaScript 库。它使用简单的文本语法来定义图表结构,支持多种类型的流程图,易于集成到网页中。 2、Draw.io: Draw.io 是一个在线的流程图绘制工具࿰…...
13.6 编写go代码接收webhook的告警发送钉钉
本节重点介绍 : 使用钉钉机器人发送到钉钉群通过alertmanager webhook发送我们自定义的go程序中解析alert对象并拼接钉钉信息发送 需求分析 使用钉钉机器人发送到钉钉群 钉钉机器人发送群消息 文档地址 通过webhook发送我们自定义的go程序中 然后解析发过来的alert&#x…...
codetest
1、寻找身高相近的小朋友 #include <iostream> #include <bits/stdc.h>using namespace std;//寻找身高相近的小朋友//输入,第一行两个整数,分别是小明身高,其他小伙伴个数,第二行是其他小伙伴的身高 //100 10 //95 …...
MyBatis-Plus拦截器接口InnerInterceptor失效?因MyBatis缓存机制而踩的一个深坑
InnerInterceptor 接口是 MyBatis-Plus 提供的一个拦截器接口,用于实现一些常用的 SQL 处理逻辑。例如某个组件运作在多系统的平台上,不同系统需要隔离,于是可以通过这个拦截器接口,给每一条要执行的sql末尾拼接一个AND systemId …...
为什么你的STM32 DMA传输失败了?__HAL_LINKDMA宏的隐藏陷阱与解决方案
为什么你的STM32 DMA传输失败了?__HAL_LINKDMA宏的隐藏陷阱与解决方案 在STM32开发中,DMA(直接内存访问)传输是提升外设数据吞吐效率的关键技术。然而,许多开发者在实际项目中都会遇到DMA传输失败的问题,而…...
无需训练!实时手机检测-通用模型直接使用,效果媲美YOLO
无需训练!实时手机检测-通用模型直接使用,效果媲美YOLO 你是不是也遇到过这样的场景:想快速开发一个手机检测功能,比如检测视频里有没有人在用手机打电话,或者统计会议室里有多少人带了手机。传统方法要么需要自己收集…...
基于粒子群算法的主动配电网经济优化调度系统分析
基于IEEE33的主动配电网优化,采用IEEE33节点配电网进行仿真,搭建了含风光,储能,柴油发电机和燃气轮机的配电网经济调度模型,以总的运行成本最小为目标,考虑了储能以及潮流等约束,采用粒子群算法…...
新手入门:利用快马平台快速理解与模拟openclaw重启命令执行
今天想和大家分享一个特别适合机器人编程新手的实践项目——如何在安全可控的环境下理解和模拟openclaw机械爪的重启命令。这个过程中我发现了InsCode(快马)平台这个神器,它让整个学习过程变得异常简单。 为什么需要专门学习重启命令? 机械爪作为机器人常…...
探索TMSpeech:解锁Windows本地实时语音转文字的高效工作流
探索TMSpeech:解锁Windows本地实时语音转文字的高效工作流 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 还在为会议记录手忙脚乱?还在为在线课程跟不上节奏而烦恼?TMSpeech为你…...
零成本解锁游戏串流新姿势:Sunshine自托管服务器全攻略
零成本解锁游戏串流新姿势:Sunshine自托管服务器全攻略 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 价值定位:打破游戏设备边界的开源方案 痛点-方案-收…...
2023长城杯Web赛题解析:从SSRF到Pickle反序列化的实战攻防
1. 从SSRF漏洞到内网渗透的实战突破 去年参加长城杯时遇到一道名为"seeking"的Web题目,让我对SSRF漏洞的利用有了全新认识。题目一开始给出了一个看似简单的PHP文件,但隐藏着精妙的设计。代码中通过file_get_contents函数获取图片内容时&#…...
博途V15 S7-1200 PLC交通灯控制详解:触摸屏倒计时显示,仿真分析资料齐全,现成文件不修改
PLC交通灯控制,博途V15,S7-1200 使用比较指令,程序完整,触摸屏调试正常,触摸屏上有倒计时显示功能。 有两份对应实训报告(设计说明书),包括每段程序原理解释,触摸屏设置过程…...
【GESP】C++五级练习题 luogu-P1226 【模板】快速幂
GESP C 五级练习题,考查并应用快速幂知识点。题目难度⭐⭐☆☆☆,洛谷难度等级普及−。 luogu-P1226 【模板】快速幂 题目要求 题目题解详见:https://www.coderli.com/gesp-5-luogu-p1226/ https://www.coderli.com/gesp-5-luogu-p1226/ht…...
MKVToolNix Batch Tool:高效处理视频字幕的批量解决方案
MKVToolNix Batch Tool:高效处理视频字幕的批量解决方案 【免费下载链接】mkvtoolnix-batch-tool Batch video and subtitle processing program with the ability to add, remove, or extract subtitles from all video files in a directory and its sub-director…...
