this.triggerEvent是微信小程序中用于触发事件的方法。通常在组件的事件处理函数中使用。
子组件代码定义:
// 在组件中 methods: { handleTap() { // 触发自定义事件, detail对象的data属性可以传递数据 this.triggerEvent('myevent', { data: 'my data' }) } }
在父页面中监听这个事件:
// 在页面中 <component-tag id="myComponent" bind:myevent="onMyEvent"></component-tag>
onMyEvent(e) { console.log(e.detail.data) // 输出:my data }
解法2:
如果你想在组件中触发页面的事件,你可以在组件中这样做:
methods: { handleTap() { // 获取页面实例,然后触发事件 this.triggerEvent('myevent', { data: 'my data' }, { bubbles: true, composed: true }) } }
然后在页面中监听这个事件:
onMyEvent(e) { console.log(e.detail.data) // 输出:my data }
解法3:
如果你想在组件中触发父组件的事件,你可以这样做:
methods: { handleTap() { // 获取父组件实例,然后触发事件 this.triggerEvent('myevent', { data: 'my data' }, { bubbles: true, composed: false }) } }
然后在父组件中监听这个事件:
methods: { onMyEvent(e) { console.log(e.detail.data) // 输出:my data } }
以上就是this.triggerEvent的几种使用方法,可以根据实际需求选择合适的方法。