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

Vue页面传值:Props属性与$emit事件的应用介绍

 

一、vue页面传值

在Vue页面中传值有多种方式,简单介绍以下两种

  1. 通过props属性传递值:父组件在子组件上定义props属性,子组件通过props接收父组件传递的值。
  2. 通过$emit触发事件传递值:子组件通过$emit方法触发一个自定义事件,并传递需要传递的值给父组件。

二、案例实践 

2.1 props属性传递值方式

父组件:

<template><div><ChildComponent :message="message" /></div>
</template><script>
import ChildComponent from './ChildComponent.vue';export default {components: {ChildComponent,},data() {return {message: 'Hello World!'};},
};
</script>

子组件(ChildComponent.vue):

<template><div>{{ message }}</div>
</template><script>
export default {props: {message: {type: String,required: true,},},
};
</script>
2.2 $emit触发事件传递值

父组件:

<template><div><ChildComponent @message="handleMessage" /></div>
</template><script>
import ChildComponent from './ChildComponent.vue';export default {components: {ChildComponent,},methods: {handleMessage(message) {console.log(message);},},
};
</script>

子组件(ChildComponent.vue):

<template><div><button @click="sendMessage">Send Message</button></div>
</template><script>
export default {methods: {sendMessage() {this.$emit('message', 'Hello World!');},},
};
</script>

这两种方式都可以实现在Vue页面间传值,具体使用哪种方式取决于你的需求和组件间的关系。

  • 通过props属性传递值方式适用于父组件向子组件传递数据的场景,可以直接传递数据,简洁方便,但数据传递是单向的。
  • 通过$emit触发事件传递值方式适用于子组件向父组件传递数据的场景,可以实现双向数据传递,但需要在父组件中监听子组件的自定义事件,可能会导致代码冗余。
http://www.lryc.cn/news/274264.html

相关文章:

  • 【mars3d】new mars3d.layer.GeoJsonLayer(实现环状面应该怎么传data
  • Websocket实时更新商品信息
  • 数据结构第六弹---带头双向循环链表
  • 洛谷——P1347 排序(图论-拓扑排序)
  • JVM内存管理
  • 将 Python 和 Rust 融合在一起,为 pyQuil® 4.0 带来和谐
  • Spring Boot应用程序中VO的理解及使用
  • 华为交换机ETH-TRUNK链路聚合lacp模式与手工模式
  • 函数图像化
  • gnu工程的编译 - 以libiconv为例
  • 在 CentOS 7.8 上安装 Node.js
  • 【数据分析实战】冰雪大世界携程景区评价信息情感分析采集词云
  • BIND-DNS配置介绍
  • Python技巧
  • 几种常见的CSS三栏布局?介绍下粘性布局(sticky)?自适应布局?左边宽度固定,右边自适应?两种以上方式实现已知或者未知宽度的垂直水平居中?
  • 箭头函数 - JavaScript的新宠儿
  • 操作系统期末复习知识点
  • [英语学习][23][Word Power Made Easy]的精读与翻译优化
  • 吉林大学19、21级计算机学院《计算机网络》期末真题试题
  • python练习3【题解///考点列出///错题改正】
  • LINUX服务器防火墙nf_conntrack问题一例
  • 经典八股文之RocketMQ
  • Pandas之从sql库中导入数据的几种方法分析
  • 18. Mysql 存储过程,实现动态数据透视
  • VuePress部署到GitHub Pages
  • git 本地仓库
  • Hive实战:分科汇总求月考平均分
  • 快速搭建知识付费小程序,3分钟即可开启知识变现之旅
  • 【计算机图形学划重点】第一讲-Pipeline and Introduction
  • 面试题-DAG 有向无环图