自定义事件的激活与监听

关于bind事件

--------来自官方的解释----------------------------------------------

事件绑定和冒泡

事件绑定的写法同组件的属性,以 key、value 的形式。

  • key 以bindcatch开头,然后跟上事件的类型,如bindtapcatchtouchstart。自基础库版本 1.5.0 起,在非原生组件中,bindcatch后可以紧跟一个冒号,其含义不变,如bind:tapcatch:touchstart

也就是说可以通过bind:自定义方法 通过触碰实现自定义事件
因此在我们的小程序中 获取用户喜欢还是不喜欢可以改写成这样

 methods: {
    onlike:function(event){
      let like = this.properties.like
      let count = this.properties.count

      count = like?count-1:count+1
      this.setData({
        count:count,
        like:!like
      })
      let behavior = this.properties.like?'like':'cancel'
      this.triggerEvent('like',{
              behavior:behavior
        },{})
      
    }
  }
})

然后在主页面中

<v-like bind:like="onlike">

classic.js中

onlike:function(event){
  console.log(event)
},

然后打印event的结果是


微信截图_20181108165208.png

这样就能在detail中获取用户是否喜欢的状态然后上传至服务器了
这样绑定自定义事件,不仅能激活父组件上的事件还能激活子组件上的事件

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

推荐阅读更多精彩内容