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

这里引用了自定义组件, 在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

猜你喜欢

转载自blog.csdn.net/qq_24810411/article/details/88862802