当前位置:首页 > 技术分析 > 正文内容

vue3中父子传值、defineProps用法、defineEmits用法

ruisui884个月前 (01-07)技术分析21

Vue3中新增了一个 script setup 语法糖模式,可以在单文件组件中更简洁地编写组件逻辑。使用 script setup 语法后,props、data、computed、methods 等选项不再需要独立定义,而是可以直接在 setup 函数中声明,代码结构更加清晰,并且可以更方便地使用响应式数据、生命周期等功能。

父子传值,在 script setup 中可以使用 defineProps 函数声明 props,这样就可以更加清晰地指明子组件使用的属性类型和默认值。在组件模板中直接使用props中定义的属性即可,无需额外定义 data。

父组件示例:

<template>
  <ChildComponent :msg="parentMsg" @update-msg="updateParentMsg"></ChildComponent>
</template>

<script setup>
import ChildComponent from "@/components/ChildComponent.vue";
import { ref } from 'vue';

defineProps({
  parentMsg: String
});

const updateParentMsg = (val) => {
  parentMsg.value = val;
};
</script>

子组件示例:

<template>
  <div>
    <p>{{ msg }}</p>
    <button @click="emitMsg">emit</button>
  </div>
</template>

<script setup>
import { defineProps, defineEmits } from 'vue';

defineProps({
  msg: String,
});

const emitMsg = () => {
  emit('update-msg', 'changed by childComponent');
};

defineEmits(['update-msg']);
</script>

在上述代码中,定义 props 和 emits 的方式与非 setup 模式下略有不同,直接使用 defineProps 和 defineEmits 函数来声明。同时,在 setup 函数中可以使用 ref、reactive、computed 等函数来创建响应式数据。

总的来说,使用 script setup 语法糖模式可以让代码更简洁、清晰,减少了不必要的重复定义,同时还能够方便使用 Vue 3 的响应式功能。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/70.html

分享给朋友:

“vue3中父子传值、defineProps用法、defineEmits用法” 的相关文章

Slackware 15.0?发布:历史最久且在维护的Linux发行版本

Slackware 14.0 于 2012 年发布,在经过了数年的等待之后 Slackware 15.0 发行版本于今天正式发布。Slackware 于 1993 年发布,是目前历史最悠久、且仍在维护的 Linux 发行版本。Slackware 15.0 在去年进入测试阶段,在发布几个候选版本之后终...

Linux发行版需要杀软吗?卡巴斯基推出免费KVRT病毒扫描清理工具

IT之家 6 月 4 日消息,你认为使用 Linux 发行版,需要杀毒软件吗?或许很多用户认为 Linux 发行版偏小众,因此受到黑客攻击的风险也相对较小,不过卡巴斯基并不这么认为,近期推出了适用于 Linux 平台的杀毒软件。最新上线的 Linux 版本 Kaspersky Virus Remov...

2024前端面试真题之—VUE篇

添加图片注释,不超过 140 字(可选)1.vue的生命周期有哪些及每个生命周期做了什么? beforeCreate是new Vue()之后触发的第一个钩子,在当前阶段data、methods、computed以及watch上的数据和方法都不能被访问。 created在实例创建完成后发生,当前阶段已...

前后端分离自动化运维平台开发

运维平台采用前后端分离:前端vue,框架vue-element-admin;后端python,框架django-rest-framework.目前运维平台模块如下:1、 CMDB管理应用管理、环境管理、开发语言管理、产品项目管理、资产管理2、 构建发布持续构建、持续部署、Jar工程依赖构建3、 容器...

雅马哈TMAX 560 TECH MAX 外媒深度测评

应雅马哈(Yamaha)的邀请,在葡萄牙埃斯托里尔对全新的Yamaha TMAX 560 Tech Max踏板车进行了测试,在这里TMAX 560 Tech Max售价为11649英镑。雅马哈TMAX长期以来一直站在踏板车的顶端,就声誉和知名度而言,它是当之无愧的大踏板界NO.1。2020 TMAX...

佳能 EOS R8 深度评测

佳能 EOS R8 的定位是入门级全画幅无反光镜可换镜头相机。尽管在产品阵容中处于这一位置,R8 仍然是一个强大的相机,配备了先进的 R6 II 同款成像传感器、快速处理器和令人难以置信的自动对焦系统,体积小、重量轻、价格低。这款相机是发烧友、旅行者、家庭以及任何想要全画幅传感器相机的人的绝佳选择。...