当前位置: 首页 > news >正文

Vue2-子传父和父传子的基本用法

在Vue 2中,可以使用props和$emit来实现子组件向父组件传值(子传父)和父组件向子组件传值(父传子)。

子传父(子组件向父组件传值)的基本用法如下:

  1. 在父组件中定义一个属性(prop)来接收子组件传递的值。
  2. 在子组件中通过$emit方法触发一个自定义事件,并将需要传递的值作为参数传递给该事件。
  3. 在父组件中监听子组件触发的自定义事件,并在事件处理函数中获取传递的值。

下面是一个示例:

<!-- 父组件 -->
<template><div><h2>父组件</h2><p>子组件传递的值:{{ messageFromChild }}</p><child-component @child-event="handleChildEvent"></child-component></div>
</template><script>
import ChildComponent from './ChildComponent.vue';export default {components: {ChildComponent},data() {return {messageFromChild: ''};},methods: {handleChildEvent(message) {this.messageFromChild = message;}}
};
</script>
<!-- 子组件 -->
<template><div><h3>子组件</h3><button @click="sendMessageToParent">向父组件传递消息</button></div>
</template><script>
export default {methods: {sendMessageToParent() {const message = 'Hello, parent!';this.$emit('child-event', message);}}
};
</script>

在上述示例中,子组件通过点击按钮触发sendMessageToParent方法,该方法通过$emit触发了名为child-event的自定义事件,并将消息作为参数传递给父组件。父组件通过监听child-event事件,在handleChildEvent方法中获取到子组件传递的值,并将其赋值给messageFromChild属性,从而实现了子传父。

父传子(父组件向子组件传值)的基本用法如下:

  1. 在父组件中使用子组件时,通过属性(prop)将需要传递的值传递给子组件。
  2. 在子组件中通过props选项接收父组件传递的值,并在模板中使用。

下面是一个示例:

<!-- 父组件 -->
<template><div><h2>父组件</h2><child-component :message="messageFromParent"></child-component></div>
</template><script>
import ChildComponent from './ChildComponent.vue';export default {components: {ChildComponent},data() {return {messageFromParent: 'Hello, child!'};}
};
</script>
<!-- 子组件 -->
<template><div><h3>子组件</h3><p>父组件传递的值:{{ message }}</p></div>
</template><script>
export default {props: {message: {type: String,required: true}}
};
</script>

在上述示例中,父组件通过:message="messageFromParent"messageFromParent的值传递给子组件的message属性。子组件通过props选项声明了message属性,并在模板中使用{{ message }}来显示父组件传递的值,从而实现了父传子。

http://www.lryc.cn/news/277043.html

相关文章:

  • 使用numpy处理图片——镜像翻转和旋转
  • HTML5 article标签,<time>...</time>标签和pubdate属性的运用
  • Amazing OpenAI API:把非 OpenAI 模型都按 OpenAI API 调用
  • RK3568平台开发系列讲解(驱动篇)pinctrl 函数操作集结构体讲解
  • vue购物车案例,v-model 之 lazy、number、trim,与后端交互
  • 云原生Kubernetes: Kubeadm部署K8S 1.29版本 单Master架构
  • C++协程操作
  • 计算机配件杂谈-鼠标
  • 用Python来制作一个微信聊天机器人
  • 2024年第九届机器学习技术国际会议(ICMLT 2024) 即将召开
  • 算法训练day9Leetcode232用栈实现队列225用队列实现栈
  • linux驱动(四):platform
  • Guava:Cache强大的本地缓存框架
  • #{}和${}的区别?
  • string的模拟实现
  • 算法练习:查找二维数组中的目标值
  • 考研自命题资料、考题如何找
  • MySQL 存储引擎和索引类型介绍
  • element-ui table height 属性导致界面卡死
  • Vue2.v-指令
  • Java中SpringBoot组件集成接入【Knife4j接口文档(swagger增强)】
  • 继承和多态的详解
  • 【Unity】UniTask(异步工具)快速上手
  • k8s三种常用的项目发布方式
  • Nodejs搭配axios下载图片
  • 强化学习在生成式预训练语言模型中的研究现状简单调研
  • python_selenium_安装基础学习
  • 面试宝典进阶之关系型数据库面试题
  • Agisoft Metashape 地面点分类参数设置
  • 计算机科学速成课【学习笔记】(4)——二进制