vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue自定义事件的$event传参

Vue关于自定义事件的$event传参问题

作者:彭恒0714

这篇文章主要介绍了Vue关于自定义事件的$event传参问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue自定义事件的$event传参

1.$event 是 vue 提供的特殊变量,用来表示原生的事件参数对象 event。

2.在原生事件中,$event是事件对象,在自定义事件中,$event是传递过来的数据(参数)

如果遇到子组件向父组件传数据,需要用到自定义事件来处理,此时我们在父组件上监听那个自定义事件,并且需要接收子组件传过来的参数,同时我们自己还想传递一个参数给下面方法

父组件

 

父组件监听自定义事件的定义的方法

 

此时上面的那个$event不再是原生的事件对象e,而是用来接收子组件传递过来的数据(参数)

vue事件参数$event

$event是事件对象的特殊变量,在一些场景能给我们实现复杂功能提供更多可用的参数

原生事件

在原生事件中表现和默认的事件对象相同

<template>
    <div>
        <input type="text" @input="inputHandler( hello , $event)" />
    </div>
</template>
export default {
    methods: {
        inputHandler(msg, e) {
            console.log(e.target.value)
        }
    }
}

自定义事件

在自定义事件中表现为捕获从子组件抛出的值

my-item.vue :

export default {
    methods: {
        customEvent() {
            this.$emit( custom-event ,  some value )
        }
    }
}

App.vue

<template>
    <div>
        <my-item v-for="(item, index) in list" @custom-event="customEvent(index, $event)">
            </my-list>
    </div>
</template>
export default {
    methods: {
        customEvent(index, e) {
            console.log(e) //  some value
        }
    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文