微信小程序中在自定义组件添加自定义事件

这里引用了自定义组件, 在index.wxml

<v-like like="{{classic.like_status}}" count="{{classic.fav_nums}}" bind:tap="onLike"></v-like>

在index.js打印事件出来:

 onLike:function(e){
    console.log(e)
  }

可以看到控制台输出是这样的:


image.png

自定义事件,在like组件中添加自定义事件

      let behavior = this.properties.like ? 'like' : 'cancel'
      this.triggerEvent(
        'like', //自定义事件名称
        {//detail对象
          behavior: behavior
        }, 
        {//事件选项
          bubbles: false,//事件是否冒泡
          composed: false,//事件是否可以穿越组件边界,为false时,事件将只能在引用组件的节点树上触发,不进入其他任何组件内部
          capturePhase: false,//事件是否拥有捕获阶段
        }
      )

然后在index.wxml中修改调取自定义事件

<v-like like="{{classic.like_status}}" count="{{classic.fav_nums}}" bind:like="onLike"></v-like>

当点击index.wxml的组件时,会看到不同的输出效果获取到对应的事件了


image.png

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容