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

Vue3 中,父子组件如何传递参数?(vue父子组件传递数据方法)

zonemu3个月前 (07-08)技术文章67

在 Vue3 中,组件化开发是非常重要的特征,那么组件之间传值就是开发中常见的需求了。组件之间的传值三种方式:父传子、子传父、非父子组件传值。

一、父传子( defineProps )

父组件主要通过使用 props 向子组件传值。

在使用 <script setup> 的单文件组件中,props 可以使用 defineProps() 、defineEmits() 宏来声明:

在父组件( Parent.vue )中,向子组件传值:

<template>

<Child :message="parentMessage" />

</template>

<script setup>

import Child from './Child.vue'

const parentMessage= 'Hello Parent';

</script>


在子组件( Child.vue )中,接收父组件( Parent.vue )的参数:

<template>

<div>{{ message }}</div>

</template>

<script setup>

import { defineProps } from 'vue';

const props = defineProps({

message: String

});

</script>

二、子传父( defineEmits )

在子组件( Child.vue )中,向父组件( Parent.vue )的传值:

<template>

<button @click="setData">Click me</button>

</template>

<script setup>

import { defineEmits } from 'vue';

const emit = defineEmits(['update']);

function setData() {

emit('update', 'Hello Child');

}

</script>


在父组件( Parent.vue )中,接收子组件( Child.vue )的参数:

<template>

{{ messageChild }}

<Child @update="handleMessage" />

</template>

<script setup>

import Child from './Child.vue';

import { ref } from 'vue';

const messageChild = ref('Hello');

function handleMessage(msg) {

messageChild.value = msg;

}

</script>


相关文档链接:

props文档:
https://cn.vuejs.org/guide/components/props.html

相关文章

GIT最佳实践,高效提升多团队协同开发效率

多个团队共同维护同一个微服务模块时,经常出现A团队已发布的功能,B团队提交测发布出现冲突或缺失,如何有效解决多团队共同维护的问题呢?常用的版本管理工具有GIT、SVN,这两种版本管理工具,各有千秋;虽...

HTML5培训学习(简单明了)(html5教学视频教程)

这些事HTML5培训认为在学习HTML5前应该做好的准备,欢迎参考指正:为什么学习HTML5?软硬件环境介绍HTML5环境搭建常见问题解决掌握技能需求为什么学习HTML5?1:自从2010年HTML5...

渗透测试基础入门:文件上传漏洞之文件名过滤绕过

昨天安仔跟大家分享了文件上传漏洞中的前端JS绕过,今天继续分享文件名过滤绕过。绕过原理:JS验证代码通过黑名单的方式来判断允许上传文件的类型,这个时候攻击者就可以通过上传黑名单之外的文件类型来绕过验证...

vue-router是如何解析query参数呢? #前端

vue-router 中的 query 解析。1. 大家好,我是龙仔。今天来分享 vue-router 是如何解析快乐参数的,因为使用 vue 路由会传 query 参数和快乐参数,所以从 vue 的...

那个 Vue 的路由,路由是干什么用的?

在Vue里,路由就像“页面导航的指挥官”,专门负责管理页面(组件)的切换和显示逻辑。简单来说,它能让单页应用(SPA)像多页应用一样实现“不同URL对应不同页面”的效果,但整个过程不会刷新网页。一、路...

Vue学习笔记之动态路由的参数传递应用及技巧

路由的参数传递:①通过params的类型· 配置路由格式:/router/:id· 传递的方式:在path后面跟上对应的值· 传递后形成的路径:/router/list,/router/profile...