大家好,最近一直在研究小程序开发,当对控件绑定事件的时候,发现 bindtap 和catchtap都可以触发事件,然而 点击单个按钮,这两个方法都可以实现事件触发,实现页面跳转功能等等,那么他俩到底有何区别呢?
######经过查阅资料,发现其区别在于:
bindtap:改事件绑定不会阻止冒泡事件向上冒泡。
catchtap:该事件绑定可以阻止冒泡事件向上冒泡。
那么,什么事冒泡事件和非冒泡事件呢?
冒泡事件:当一个控件上的事件被触发后,它的事件会向其父视图节点传递,此时父视图的事件也会触发。
非冒泡事件:当一个控件上的事件被触发后,它的事件不会向父视图节点传递,此时父视图的事件不会触发。
目前个人偏好比较喜欢常用catchtap。
举个例子:
这是一个列表页面,每一条数据有详情页面 每一条数据上还有一个按钮控件。
如果每一条数据上没有其他控件有触发事件的话,用bind和catch都行,点击每一条数据都会进入详情页。如果有的话,那么其子控件要用catch触发事件,不然其图里的按钮事件触发完之后,会触发view的bindtap事件,进入详情页了。