黑豹程序员-vue3 setup 子组件给父组件传值

工作原理

在子组件中调用emit方法触发父组件的方法实现传值

父组件 p.vue

bash 复制代码
<template>
  <div>
    <ChildComponent @childValue="handleChildValue"></ChildComponent>
    <button @click="getChildValue">获取子组件的值</button>
    {{receivedChildValue}}
  </div>
</template>

<script setup>
import { ref } from 'vue';
import ChildComponent from './child.vue';

const receivedChildValue = ref('');

const handleChildValue = (value) => {
  receivedChildValue.value = value;
};

const getChildValue = () => {
  console.log('Child Value:', receivedChildValue.value);
};
</script>

子组件:child.vue

bash 复制代码
<template>
  <div>
    <p>子组件的值: {{ childValue }}</p>
  </div>
</template>

<script setup>
import { ref, getCurrentInstance } from 'vue';

const childValue = ref('czs');
const instance = getCurrentInstance();

//子组件发生值给父组件,通过childValue事件触发
instance.emit('childValue', childValue.value);

</script>
相关推荐
胡斌附体24 分钟前
vue添加loading后修复页面渲染问题
前端·javascript·vue.js·渲染·v-if·异步加载
Dontla34 分钟前
Webpack DefinePlugin插件介绍(允许在编译时创建JS全局常量,常量可以在源代码中直接使用)JS环境变量
运维·javascript·webpack
沐土Arvin2 小时前
深入理解 requestIdleCallback:浏览器空闲时段的性能优化利器
开发语言·前端·javascript·设计模式·html
咖啡の猫2 小时前
JavaScript基础-创建对象的三种方式
开发语言·javascript·ecmascript
MaCa .BaKa3 小时前
38-日语学习小程序
java·vue.js·spring boot·学习·mysql·小程序·maven
outstanding木槿3 小时前
react中安装依赖时的问题 【集合】
前端·javascript·react.js·node.js
小吕学编程3 小时前
Jackson使用详解
java·javascript·数据库·json
霸王蟹3 小时前
React中useState中更新是同步的还是异步的?
前端·javascript·笔记·学习·react.js·前端框架
霸王蟹3 小时前
React Hooks 必须在组件最顶层调用的原因解析
前端·javascript·笔记·学习·react.js
听吉米讲故事4 小时前
Slidev集成Chart.js:专业数据可视化演示文稿优化指南
javascript·信息可视化·数据分析