小程序自定义组件自定义事件

  1. 小程序中的自定义事件的发起者即子自定义组件 默认情况下不设置bubbles和composed两个参数时只能通过绑定在该自定义组件上(<自定义component bindcustomEvent></自定义component>)行间的函数监听,不能在包裹该组件的组件或者标签中监听到
    例如
    //view上是不能监听到的,只能在子component行间监听到
    <子component bindcustomEvent></子component>
  2. 默认情况下,自定义事件只能在引用了该自定义组件的组件(相当于是父组件)中通过该自定义组件上绑定的监听函数监听到,不能再在父组件的父组件中监听到该事件,也不能在该父组件中其他的组件或者标签中监听到,
    如果该自定义组件设置bubbles: true才会使父组件中的与该自定义组件有包裹关系的组件或者普通标签才会监听到,这时即使该自定义组件<自定义component bindcustomEvent>行间不写bindcustomEvent,与其有包裹关系的标签或者组件也是可以监听到的子组件中发出的自定义事件,即:
    //view上是可以监听到的
    <子componentt></自定义component>

    但是依然不能跨越组件界限。例如
    //newComponent上是可以监听到的,虽然该子组件会作为插槽插入newComponent中,但是由于composed属性的限制,该自定义组件默认是只能在引用该自定义组件的节点上有效,不能越界进入其他任何组件内部的,
    <子componentt></子component>

要想跨组件监听需要{ bubbles: true, composed: true }
然后配合参数{ bubbles: true, composed: true }中的主要参数composed才能实现自定义组件上绑定的事件可以跨越组件界限,能够进入与其有包裹关系的其他组件中,并在有包裹关系的其他组件中能够监听到
3. 不能传给父组件中的兄弟标签或者组件上。不加参数的话,组件的自定义事件只能在自定义组件行间进行监听

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值