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的几种使用方法,可以根据实际需求选择合适的方法。