vue3父组件使用子组件方法

news2024/12/23 9:05:53

问题

关于父组件调用子组件方法是比较常见的情况,vue2中使用比较简单,那么vue3 中如何使用呢?
想要的效果:
在这里插入图片描述

vue2 中调用子组件方法

先看下vue2中如何调用的,代码如下:

// child.vue
<template>
    <div style="margin-bottom:10px">子组件中的数字:{{ count }}</div>
</template>

<script>
export default {
    data(){
        return {
            count:0
        }
    },
    methods:{
        add(){
            this.count += 1
        }
    }
}
</script>
// 父组件
<template>
  <child ref="childRef"/>
  <el-button type="primary" @click="add">父组件中按钮(点击加1)</el-button>
</template>

<script>
import child from './child.vue'
export default {
    components:{
        child
    },
    data(){
        return {

        }
    },
    methods:{
        add(){
            this.$refs.childRef.add()
        }
    }
}
</script>

vue3 setup中调用子组件方法

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

示例如下:

// parent.vue
<template>
  <child ref="childRef"/>
  <el-button type="primary" @click="add">父组件中按钮(点击加1)</el-button>
</template>

<script setup>
    import { ref } from 'vue'
    import child from './child.vue'
    const childRef = ref(null)
    
    function add(){
        childRef.value.add()
    }
</script>
// child.vue
<template>
    <div style="margin-bottom:10px">子组件中的数字:{{ count }}</div>
</template>

<script setup>
    import { ref } from 'vue'
    const count = ref(0)

    function add(){
        count.value += 1
    }
</script>

此时,若子组件使用如上写法则会报错:
在这里插入图片描述

解决办法:在子组件中使用defineExpose 暴露出add()方法

<template>
    <div style="margin-bottom:10px">子组件中的数字:{{ count }}</div>
</template>

<script setup>
    import { ref } from 'vue'
    
    defineExpose({ add })  // 非常重要的一行, 暴露子组件方法
    const count = ref(0)
    function add(){
        count.value += 1
    }
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1602497.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux系统的引导过程与服务控制

目录 一、Linux操作系统引导过程 二、Linux系统服务控制 系统初始化进程 三、运行级别切换 *运行级别及切换 Linux系统的运行级别 四、优化开机自动加载服务 五、修复MBR扇区故障 一、Linux操作系统引导过程 主要步骤 开机自检&#xff1a; 检测硬件设备&#…

Matlab软件使用教学

1. Matlab简介 Matlab&#xff08;Matrix Laboratory的缩写&#xff09;是一种由MathWorks公司开发的数值计算和可视化编程环境。它广泛应用于工程、科学研究、数学和教育等领域&#xff0c;因其强大的计算能力和丰富的工具箱而受到青睐。 2. 安装与启动 安装&#xff1a;从M…

Delphi Xe 10.3 钉钉SDK开发——审批流接口(获取表单ProcessCode)

开发钉钉审批流时&#xff0c;需要用到钉钉表单的Processcode&#xff0c;有两种方法 &#xff1a; 一、手动获取&#xff1a; 管理员后台——审批——找到对应的表单&#xff1a;如图&#xff1a; ProcessCode后面就是了&#xff01; 二、接口获取&#xff1a;今天的重点&a…

精致摄影网站模板 Bootstrap4

目录 一.前言 二.展示 三.下载链接 一.前言 这是一个相机摄影网站。网站结构包括以下部分&#xff1a; 导航栏部分&#xff1a;位于页面顶部&#xff0c;包含了Logo和若干导航链接&#xff0c;如Home、About、Gallery、Services、Testimonial和Contact。 横幅部分&#xff…

CSS文本属性与字体属性

目录 文本属性 文本颜色 文本对齐 修饰文本 文本缩进 行高 字体属性 字体系列 字体大小 字体粗细 字体样式 字体/文本综合属性写法 Chrome调试工具的使用 文本属性 文本颜色 在CSS中使用color 属性用于定义文本的颜色&#xff0c;使用background-color设置一个盒…

VUE3 + Elementui-Plus 之 树形组件el-tree 一键展开(收起);一键全选(不全选)

需求&#xff1a; 产品要求权限树形结构添加外部复选框进行全部展开或收起&#xff1b;全选或不全选。 实现步骤&#xff1a; tree组件部分&#xff1a; <div class"role-handle"><div>权限选择(可多选)</div><div><el-checkbox v-mode…

micropython开发与实战阅读笔记

对本文的一些说明 本文来源于阅读《MicroPython开发与实战》时所做的笔记&#xff0c;这本书不是很厚&#xff0c;所以内容也不是很全面&#xff0c;但作为一个入门工具书还是够的&#xff0c;再由于本人不是这方面的大佬&#xff0c;也不是这个专业的&#xff0c;所做的笔记也…

C++ UML 类图介绍与设计

1 类图概述 UML(Unified Modeling Language)&#xff0c;即统一建模语言&#xff0c;是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。UML从目标系统的不同角度出发&#xff0c;定义了用例图、类图、对象图、状态图、活动图…

C++ stl容器list的底层模拟实现

目录 前言&#xff1a; 1.创建节点 2.普通迭代器的封装 3.反向迭代器的封装 为什么要对正向迭代器进行封装&#xff1f; 4.const迭代器 5.构造函数 6.拷贝构造 7.赋值重载 8.insert 9.erase 10.析构 11.头插头删&#xff0c;尾插尾删 12.完整代码简单测试 总结&…

【艾体宝方案】智驾未来:高性能实时数据库,车企的数据分析变革!

近年来&#xff0c;汽车行业持续朝向互联互通以及自动化方向的演进&#xff0c;无论是在优化制造流程、提升车辆安全与性能&#xff0c;还是提供定制化客户体验方面&#xff0c;汽车行业的都未来牢牢根植于其有效处理和利用数据的能力。 一、汽车行业面临的挑战 &#xff08;…

group by 多字段分组查询和 order by

直接看试验步骤就知道了. 表 一.单列group by 执行单列group by语句 SELECT name, COUNT(1) count FROM nomol GROUP BY name 执行结果 我们发现他把原始表分为了两个小组&#xff0c;狗狗小组和猫猫小组。从这可以看出分组查询就是把相同的数据分到一个组 . 二.多列group …

在做程序员的道路上,你掌握了什么概念或技术使你感觉自我提升突飞猛进?

不要扯那些假大空或是看似高级的技术概念&#xff0c;真正让我感觉到自我提升突飞猛进的是摒弃了码农思维。 先别开骂&#xff0c;我指的码农思维是把自己当代码工人的码农思维。其实程序员本质上就是打工人&#xff0c;无论是掌握了高新技术的程序员&#xff0c;还是在底层摸爬…

MT3026 砍玉米

样例1&#xff1a; 输入&#xff1a; 6 1 3 4 2 5 1 7 8 19 10 30 2 输出&#xff1a; 6 其中1<n<10^5,1<xi,hi<10^9 思路&#xff1a;贪心&#xff1a;从左到右或者从右到左依次判断每一棵玉米是否可以倒下 &#xff08;以从左到右为例&#xff1a;先往左倒&…

Windows版Apache 2.4.59解压直用(免安装-绿色-项目打包直接使用)

windows下Apache分类 Apache分为 安装版和解压版 安装版: 安装方便&#xff0c;下一步------下一步就OK了&#xff0c;但重装系统更换环境又要重新来一遍&#xff0c;会特别麻烦 解压版&#xff08;推荐&#xff09;&#xff1a; 这种方式&#xff08;项目打包特别方便&#x…

c++修炼之路之vector--标准库中的vector

目录 前言 一&#xff1a;vector的简介 二&#xff1a;vector的常用接口 1.构造函数 2.迭代器访问遍历数组 3.容量接口函数 4.增删查改接口函数 三&#xff1a;vector常用接口的全部代码 接下来的日子会顺顺利利&#xff0c;万事胜意&#xff0c;生活明朗----------…

钉钉OA审批评论接口,如何@ 人并发送通知

钉钉OA审批评论接口&#xff0c;如何 人并发送通 问题描述&#xff1a; 相关接口&#xff1a;https://oapi.dingtalk.com/topapi/process/instance/comment/add 我希望在钉钉oa审批流程中&#xff0c;添加评论的同时通过“”或者其他方式提醒流程发起人去跟进审批工作。 但我…

比起本地渲染,网渲的优势在哪里?渲染100邀请码1a12

网渲的应用很广泛&#xff0c;在建筑设计和室内装修等行业都能看到它的身影&#xff0c;比起本地渲染&#xff0c;它有以下几个优势。 1、资源充足 网渲平台的资源充足&#xff0c;会根据渲染作业的规模和复杂度自动扩展或缩减分配&#xff0c;以达到动态调节的目的&#xff0c…

小米汽车SU7隐藏款曝光!新配色和透明车身亮了 coreldraw教程入门零基础 coreldraw下载 coreldraw2024

刘强东说&#xff0c;论营销&#xff0c;没有任何人能比得过小米。 小米SU7发布会24小时&#xff0c;下定量就超过了蔚来汽车2023年四季度的交付量。 ▲雷军发布的小米SU7 24小时订单量 小米SU7发布会后五天&#xff0c;雷军在北京亦庄工厂亲自交付了第一批创世版本小米SU7&a…

【性能测试】接口测试各知识第4篇:Jmeter 八大元件及执行顺序,学习目标【附代码文档】

接口测试完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;接口测试&#xff0c;学习目标学习目标,2. 接口测试课程大纲,3. 接口学完样品,4. 学完课程,学到什么,5. 参考:,1. 理解接口的概念。学习目标&#xff0c;RESTFUL1. 理解接口的概念,2.什么是接口测试…

《综合品酒师》培训刷新纪录:FENDI CLUB精酿啤酒点亮行业里程碑

导语&#xff1a;在璀璨的品酒文化星空中&#xff0c;一颗新星正悄然升起&#xff0c;它就是云仓酒庄。近日&#xff0c;云仓酒庄成功举办的《综合品酒师》培训活动不仅刷新了大世界基尼斯纪录&#xff0c;更以其与众不同的FENDI CLUB精酿啤酒品鉴课程引起了品酒新风尚。这一盛…