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

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

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

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用法” 的相关文章

培训机构财务及缴费管理系统

学校收费软件是专门为学校财务量身打造的用于灵活性收取学生费用,智能化管理学生缴欠费信息的一款智能系统。1.灵活性全面的学生档案(学籍)信息化管理要计费,一定要有学生信息。所以就算是财务的收费软件,关于学生的档案资料(学籍)管理,同样是计费系统软件不可缺少的部分。档案资料属性,全面、灵活性、能自定义。...

几个linux发行版使用感受

linux发行版有哪些linux发行版有上千种,但每一种发行版并不是与其它的发行版没任何关系,有些发行版是基于其他发行版制作的。如果乐意,你自己也可以动手制作属于自己的发行版,然后分发给其他人使用,所以非常自由,可选择的非常多。常见的发行版有:RedHat、Ubuntu、OpenSUSE、Gento...

2021最全VUE面试题,奥利给

1. vue-router用过没,哪些常用的钩子函数路由钩子的执行流程,钩子函数种类有:全局守卫、路由守卫、组件守卫。首页可以控制导航跳转, beforeEach , afterEach 等,?般?于页? title 的修改。?些需要登录才能调整??的重定向功能。beforeEach 主要有3个参数...

编码 10000 个小时后,开发者悟了:“不要急于发布!”

【CSDN 编者按】在软件开发的道路上,时间是最好的老师。根据“一万小时定律”,要成为某个领域的专家,通常需要大约一万小时的刻意练习。本文作者身为一名程序员,也经历了一万小时的编程,最终悟出了一个道理:慢即是快,重视架构设计和代码质量,确保每一行代码都经得起时间的考验。作者 | Sotiris Ko...

佳能 EOS R8 深度评测

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

Excel中的FILTER函数详细介绍及使用示例

在Excel中处理大量数据时,经常需要根据特定条件筛选出符合条件的数据行或列。这正是Excel的FILTER函数发挥作用的地方。FILTER函数是Excel中一个非常强大的工具,它可以基于一个或多个条件动态地过滤数据,使数据分析和报告制作变得更加高效和准确。本文将详细介绍FILTER函数的用法,并提...