关于bind事件
--------来自官方的解释----------------------------------------------
事件绑定和冒泡
事件绑定的写法同组件的属性,以 key、value 的形式。
- key 以
bind
或catch
开头,然后跟上事件的类型,如bindtap
、catchtouchstart
。自基础库版本 1.5.0 起,在非原生组件中,bind
和catch
后可以紧跟一个冒号,其含义不变,如bind:tap
、catch: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中获取用户是否喜欢的状态然后上传至服务器了
这样绑定自定义事件,不仅能激活父组件上的事件还能激活子组件上的事件
网友评论