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

uniapp使用defineExpose暴露和onMounted访问

defineExpose作用

  1. 暴露方法和数据

    • 允许从模板或其他组件访问当前组件内部的方法和数据。
    • 明确指定哪些方法和数据可以被外部访问,从而避免不必要的暴露。
  2. 增强安全性

    • 通过显式声明哪些方法和数据可以被外部访问,防止意外修改内部状态。
    • 提高组件的安全性,避免因误操作导致的问题。
  3. 提升可维护性

    • 清晰地定义组件的边界,使其他开发者更容易理解和使用组件。
    • 增强组件的可维护性,便于后续的开发和维护工作。

onMounted 作用

  1. DOM 操作

    • 当你需要根据 DOM 的状态来执行某些操作时,可以在 onMounted 钩子中进行。例如,设置某个元素的高度或宽度,或者初始化第三方插件。
  2. 异步请求

    • 组件挂载后,通常会触发一些异步请求来获取数据填充到页面中。这些请求通常在 onMounted 钩子中发起。
  3. 事件绑定

    • 如果需要给 DOM 元素绑定事件监听器,那么 onMounted 是一个合适的地方

总结

  • defineExpose 用于定义组件的公开 API,控制哪些方法和数据可以被外部访问。
  • onMounted 用于执行组件挂载完成后的一些初始化操作,如 DOM 操作、异步请求等。

两者可以结合使用,以实现更安全、更高效的组件设计。在实际开发中,可以根据组件的具体需求来决定是否以及如何使用这两个特性。

示例


子组件定义:

defineExpose 将 nameage 和 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 的 nameage 和调用 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作用 暴露方法和数据 允许从模板或其他组件访问当前组件内部的方法和数据。明确指定哪些方法和数据可以被外部访问&#xff0c;从而避免不必要的暴露。 增强安全性 通过显式声明哪些方法和数据可以被外部访问&#xff0c;防止意外修改内部状态。提高组件的安全性&a…...

怎么使用matplotlib绘制一个从-2π到2π的sin(x)的折线图-学习篇

首先&#xff1a;如果你的环境中没有安装matplotlib&#xff0c;使用以下命令可以直接安装 pip install matplotlib如何画一个这样的折线图呢&#xff1f;往下看 想要画一个简单的sin(x)在-2π到2π的折线图&#xff0c;我们要拆分成以下步骤&#xff1a; 先导入相关的库文…...

【Java毕业设计】基于SpringBoot+Vue+uniapp的农产品商城系统

文章目录 一、系统架构1、后端&#xff1a;SpringBoot、Mybatis2、前端&#xff1a;Vue、ElementUI4、小程序&#xff1a;uniapp3、数据库&#xff1a;MySQL 二、系统功能三、系统展示1、小程序2、后台管理系统 一、系统架构 1、后端&#xff1a;SpringBoot、Mybatis 2、前端…...

C++ | Leetcode C++题解之第390题消除游戏

题目&#xff1a; 题解&#xff1a; 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安装、主从节点配置以及同步验证等步骤。以下是一个详细的搭建过程&#xff1a; 一、基础环境准备 创建虚拟机&#xff1a; 准备两台虚拟机&#xff0c;分别作为主节点和从节点。为每台虚拟机分配独立的IP…...

Spring01——Spring简介、Spring Framework架构、Spring核心概念、IOC入门案例、DI入门案例

为什么要学 spring技术是JavaEE开发必备技能&#xff0c;企业开发技术选型命中率>90%专业角度 简化开发&#xff1a;降低企业开发的复杂度框架整合&#xff1a;高效整合其他技术&#xff0c;提高开发与运行效率 学什么 简化开发 IOCAOP 事务处理 框架整合 MyBatis 怎…...

深度学习|模型推理:端到端任务处理

引言 深度学习的崛起推动了人工智能领域的诸多技术突破,尤其是在处理复杂数据与任务的能力方面。模型推理作为深度学习的核心环节,决定了模型在真实应用场景中的表现。而端到端任务处理(End-to-End Task Processing)作为深度学习的一种重要范式,通过从输入到输出的直接映…...

【深度学习 Pytorch】2024年最新版本PyTorch学习指南

引言 2024年&#xff0c;深度学习技术在各个领域取得了显著的进展&#xff0c;而PyTorch作为深度学习领域的主流框架之一&#xff0c;凭借其易用性、灵活性和强大的社区支持&#xff0c;受到了广大研究者和开发者的喜爱。本文将为您带来一份2024年最新版本的PyTorch学习指南&a…...

第 1 章:原生 AJAX

原生AJAX 1. AJAX 简介 AJAX 全称为 Asynchronous JavaScript And XML&#xff0c;就是异步的 JS 和 XML。通过 AJAX 可以在浏览器中向服务器发送异步请求&#xff0c;最大的优势&#xff1a;无刷新获取数据。AJAX 不是新的编程语言&#xff0c;而是一种将现有的标准组合在一…...

【代码随想录|贪心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 表示&#xff1a;“由于对数据编织架构、数据产品交付以及支持生成式 AI 的集成数据的需求即将到来&#xff0c;数据集成工具市场正在蓬勃发展。数据和分析领导者应该利用这项研究来…...

WHAT - React 函数与 useMemo vs useCallback

目录 一、介绍useMemo 与 useCallback 的区别示例代码useMemo 示例useCallback 示例 总结 二、当一个函数被作为依赖项useMemo 和 useCallback 的适用情况选择使用 useCallback 或 useMemo总结实际例子 一、介绍 在 React 中&#xff0c;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体系中&#xff0c;CA机构颁发合法的证书。使用者可以使用CA根证书验证该证书是否被篡改过&#xff0c;但无法从证书文件验证出证书是否被吊销。因此CA机构会通过发布CRL&#xff08;Certificate Revocation List&#xff09;来告知所有人&#xff0c;哪些证书…...

前端流程图框架

1、Mermaid&#xff1a; Mermaid 是一个用于绘制流程图、时序图、甘特图等的纯 JavaScript 库。它使用简单的文本语法来定义图表结构&#xff0c;支持多种类型的流程图&#xff0c;易于集成到网页中。 2、Draw.io&#xff1a; Draw.io 是一个在线的流程图绘制工具&#xff0…...

13.6 编写go代码接收webhook的告警发送钉钉

本节重点介绍 : 使用钉钉机器人发送到钉钉群通过alertmanager webhook发送我们自定义的go程序中解析alert对象并拼接钉钉信息发送 需求分析 使用钉钉机器人发送到钉钉群 钉钉机器人发送群消息 文档地址 通过webhook发送我们自定义的go程序中 然后解析发过来的alert&#x…...

codetest

1、寻找身高相近的小朋友 #include <iostream> #include <bits/stdc.h>using namespace std;//寻找身高相近的小朋友//输入&#xff0c;第一行两个整数&#xff0c;分别是小明身高&#xff0c;其他小伙伴个数&#xff0c;第二行是其他小伙伴的身高 //100 10 //95 …...

MyBatis-Plus拦截器接口InnerInterceptor失效?因MyBatis缓存机制而踩的一个深坑

InnerInterceptor 接口是 MyBatis-Plus 提供的一个拦截器接口&#xff0c;用于实现一些常用的 SQL 处理逻辑。例如某个组件运作在多系统的平台上&#xff0c;不同系统需要隔离&#xff0c;于是可以通过这个拦截器接口&#xff0c;给每一条要执行的sql末尾拼接一个AND systemId …...

【UE6.5 C++27 调试终极指南】:20年引擎老兵亲授GDB/LLDB/Visual Studio三端协同调试黄金流程

第一章&#xff1a;UE6.5 C27 调试体系演进与核心挑战Unreal Engine 6.5 正式引入对 ISO/IEC 14882:2027&#xff08;C27&#xff09;标准的实验性支持&#xff0c;并重构了底层调试基础设施&#xff0c;以应对现代C语言特性带来的可观测性断层。传统基于符号表与行号映射的调试…...

Qwen-Image镜像实测:RTX4090D+120G内存,图文理解快到飞起

Qwen-Image镜像实测&#xff1a;RTX4090D120G内存&#xff0c;图文理解快到飞起 1. 开箱即用的高性能推理环境 当我第一次启动这个专为RTX 4090D优化的Qwen-Image镜像时&#xff0c;最直观的感受就是"快"。在120GB内存的支持下&#xff0c;大模型加载过程几乎没有任…...

【区间概率预测】PSO-LightGBM-ABKDE多变量时序预测 基于粒子群算法优化轻量级梯度提升机结合自适应带宽核函数密度估计的多变量时序预测

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f447; 关注我领取海量matlab电子书和数学建模资料&#x1f34a;个人信条&#xff1a;格物致知,完整Matl…...

作业61 10 11 12

# 输入三角形三边a float(input("请输入三角形的边A&#xff1a;"))b float(input("请输入三角形的边B&#xff1a;"))c float(input("请输入三角形的边C&#xff1a;"))# 判断是否能构成三角形&#xff08;边长>0 且 任意两边之和大于第三…...

别再只盯着输入了!时间序列预测中,被忽视的‘标签自相关’问题与FreDF解法

时间序列预测的盲区&#xff1a;标签自相关性如何悄悄破坏你的模型精度 想象一下&#xff0c;你花费数周时间调整模型架构、优化超参数&#xff0c;甚至尝试了最新的Transformer变体&#xff0c;但预测结果始终差强人意。问题可能并不出在你精心设计的输入特征工程上&#xff0…...

Pyinstaller:打包Python文件成exe可执行文件

1、pyinstaller安装pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple2、打包单个文件如果所有代码是写在一个.py文件里的&#xff0c;可以尝试使用这种方式pyinstaller -F filesname.py成功运行后会在桌面生成三个文件&#xff1a;可执行文件.exe就在dist…...

MATLAB绘图中文乱码终极解决方案:3种方法让你的图表告别方框

MATLAB绘图中文乱码终极解决方案&#xff1a;3种方法让你的图表告别方框 科研图表中的中文显示问题一直是MATLAB用户的痛点。当精心准备的论文图表出现"口口口"方框时&#xff0c;不仅影响数据呈现效果&#xff0c;更可能让研究成果的专业性大打折扣。本文将深入剖析…...

显卡驱动清理实战:用DDU彻底告别驱动残留问题

显卡驱动清理实战&#xff1a;用DDU彻底告别驱动残留问题 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-uninstaller 你是…...

淘宝 API 技术架构与实战指南:从实时数据流到 AIGC 融合的电商开发新范式

在数字经济加速渗透的今天&#xff0c;淘宝开放平台 API 已从简单的数据交互工具进化为支撑电商创新的核心基础设施。2025 年&#xff0c;淘宝 API 体系迎来重大技术跃迁&#xff0c;实时数据流、GraphQL 接口与隐私合规构成新的技术三角&#xff0c;推动电商开发进入 "毫…...

3大挑战与解决方案:如何构建现代化医院信息系统的分布式架构与数据治理平台

3大挑战与解决方案&#xff1a;如何构建现代化医院信息系统的分布式架构与数据治理平台 【免费下载链接】HIS HIS英文全称 hospital information system&#xff08;医疗信息就诊系统&#xff09;&#xff0c;系统主要功能按照数据流量、流向及处理过程分为临床诊疗、药品管理、…...