uniapp 使用 this.$emit
时间: 2023-10-19 11:36:12 浏览: 125
uni-app使用的演示
Uni-app 是一个基于 Vue.js 的跨平台开发框架,它可以在多个平台上进行开发,包括小程序、H5、App等。在 Uni-app 中,可以使用 `this.$emit` 来触发一个自定义事件。
例如,如果你想在组件 A 中触发一个名为 `customEvent` 的事件,并传递一些数据,可以使用以下代码:
```javascript
// 组件 A
methods: {
handleClick() {
this.$emit('customEvent', { data: 'Hello World' });
}
}
```
然后,在组件 B 中可以监听 `customEvent` 事件,并在事件触发时执行相应的逻辑:
```javascript
// 组件 B
methods: {
handleCustomEvent(payload) {
console.log(payload.data); // 输出 'Hello World'
}
},
mounted() {
this.$on('customEvent', this.handleCustomEvent);
},
beforeDestroy() {
this.$off('customEvent', this.handleCustomEvent);
}
```
通过 `this.$emit` 和 `this.$on` 方法,组件之间可以进行事件的通信和数据的传递。需要注意的是,在组件销毁时需要使用 `this.$off` 方法取消事件的监听,以避免内存泄漏。
阅读全文