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

 更新时间:2023年10月21日 08:35:55   作者:彭恒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
        }
    }
}

总结

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

相关文章

  • vue实现动态路由添加功能的简单方法(无废话版本)

    vue实现动态路由添加功能的简单方法(无废话版本)

    ue动态路由(约定路由),听起来好像很玄乎的样子,但是你要是理解了实现思路,你会发现没有想象中的那么难,下面这篇文章主要给大家介绍了关于vue实现动态路由添加功能的简单方法,需要的朋友可以参考下
    2023-02-02
  • vue项目中封装echarts的优雅方式分享

    vue项目中封装echarts的优雅方式分享

    在实际项目开发中,我们会经常与图表打交道,比如 订单数量表、商品销量表、会员数量表等等,它可能是以折线图、柱状图、饼状图等等的方式来展现,下面这篇文章主要给大家介绍了关于vue项目中封装echarts的优雅方式的相关资料,需要的朋友可以参考下
    2022-03-03
  • vue项目启动如何设置默认启动页

    vue项目启动如何设置默认启动页

    这篇文章主要介绍了vue项目启动如何设置默认启动页问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • vue+Minio实现多文件进度上传的详细步骤

    vue+Minio实现多文件进度上传的详细步骤

    这篇文章主要给大家介绍了关于如何利用vue+Minio实现多文件进度上传的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • vue2与vue3下如何访问使用public下的文件

    vue2与vue3下如何访问使用public下的文件

    这篇文章主要介绍了vue2与vue3下如何访问使用public下的文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • npm install -g @vue/cli安装vue脚手架报错问题(一般都能解决)

    npm install -g @vue/cli安装vue脚手架报错问题(一般都能解决)

    这篇文章主要介绍了npm install -g @vue/cli安装vue脚手架报错问题(一般都能解决),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • element动态路由面包屑的实现示例

    element动态路由面包屑的实现示例

    本文主要介绍了element动态路由面包屑的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • vue写一个全局弹窗组件通过js调用的方法

    vue写一个全局弹窗组件通过js调用的方法

    弹窗效果是在Web开发中经常用到的一种交互效果,它可以在用户点击某个按钮或者触发某个事件时显示一个悬浮框,提供用户与页面进行交互的机会,这篇文章主要给大家介绍了关于vue写一个全局弹窗组件通过js调用的方法,需要的朋友可以参考下
    2024-06-06
  • vue2 如何实现div contenteditable=“true”(类似于v-model)的效果

    vue2 如何实现div contenteditable=“true”(类似于v-model)的效果

    这篇文章主要给大家介绍了利用vue2如何实现div contenteditable="true",就是类似于v-model的效果,文中给出了两种解决的思路,对大家具有一定的参考价值,有需要的朋友们下面来一起看看吧。
    2017-02-02
  • Vue v-model组件封装(类似弹窗组件)

    Vue v-model组件封装(类似弹窗组件)

    这篇文章主要介绍了Vue中的 v-model组件封装(类似弹窗组件),本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01

最新评论