vue2x组件自定义事件

组件自定义事件

  1. 一种组件通信方式,适用于:子组件===>父组件

  2. 使用场景:A是父组件,B是子组件,B想给A传数据,那么就要在A中给B绑定自定义事件(事件的回调在A中)

  3. 绑定自定义事件

    1. 第一种方式,在父组件中:<Demo @hello = “test”>或者
    2. 第二中方式,在父组件中:
    <Demoe ref = "demo">
    mounted(){
        this.$refs.demo.$on("hello",this.test)
    }
    
    1. 若想让自定义事件只触发一次,可以用once修饰符,或者$once方法
  4. 触发自定义事件:this.$emit(“hello”,数据1,数据2,数据3)

  5. 解绑自定义事件 this.$off(“hello”)

  6. 解绑多个自定义事件:this. o f f ( [ " 事 件 1 " , " 事 件 2 " ] ) 或 者 t h i s . off(["事件1","事件2"]) 或者 this. off(["1","2"])this.off() 解绑所有事件

  7. 组件上也可以绑定原生DOM事件,需要弄native修饰符

  8. 注意:通过this. r e f s . x x x . refs.xxx. refs.xxx.on(“hello”,回调)绑定自定义事件时,回调要么配置在methods中,要么用箭头函数,否则this指向会出问题

  9. vue自定义事件名推荐使用 kebab-case 方式命名子组件接收的时候也要用kebab-case,因为事件名没有自动转换的功能,不会自动转换成驼峰

  10. 子组件中可以通过 $listeners 获取子组件收到的所有 事件

  11. 利用 l i s t e n e r s 可 以 不 使 用 listeners 可以不使用 listeners使emit 去接收父组件传递的自定义事件,用的较少

  12. 可以利用 $listeners 将组件接受到的所有事件,一起全部传递给组件的子组件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值