Vue学习笔记 组件间通过事件通讯

这篇博客详细介绍了在Vue中如何实现组件间的通信,特别是子组件如何调用父组件的事件,并传递参数。子组件通过`emits`声明并使用`this.$emit('event', params)`触发事件,父组件则通过`@event="method"`监听并接收参数。同时,文章提到了未声明`emits`时虽然仍可触发事件但会导致控制台警告,以及如何启用参数校验功能。" 90345708,8404833,MariaDB集群配置与Galera多主搭建,"['mariadb集群', '主从复制', '主从同步原理', 'mariadb多主']
摘要由CSDN通过智能技术生成

子组件调用父组件事件

父组件在标签通过@add="父组件方法"添加一个响应事件,子组件通过emits声明引用父组件事件,子组件的方法通过 this.$emit('add') 调用父组件的某个事件(例如add)

如果子组件不用emits声明,其实也可以调用,但控制台会打印警告

父组件:
methods: {
            addCounter() {
                this.counter += 1;
            }
        }
<global :counter="counter" @add="addCounter"/>
子组件:
        emits: ['add'],
        methods: {
            globalAddCounter() {
                this.$emit('add');
            }
        },
        template: `
            <h3>子组件{
  {counter}}</h3>
            <button @click="globalAddCounter">子组件点击+1</button>
        `

向父组件事件中传递参数

子组件在this.$emit('add', 2)调用时,把参数值2传递给父组件,父组件方法中通过参数param (参数名字可以随便起)接受这个参数值

可以传递多个参数

父组件methods:
            addCounterTwo(param) {
                this.counter += param;
            }
子组件methods:
        methods: {
            globalAddCounter() {
                this.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值