uni.$emit的使用
时间: 2023-11-11 22:58:16 浏览: 73
uni.$emit是在uni-app中用于触发自定义事件的方法。通过该方法,我们可以在组件之间进行通信。
使用uni.$emit的步骤如下:
1. 在发送事件的组件中,调用uni.$emit(eventName, data)方法,其中eventName为自定义的事件名称,data为传递的数据。例如:uni.$emit('event-name', {key: value})。
2. 在接收事件的组件中,使用on监听事件,即使用uni.$on(eventName, callback)方法监听事件的触发,其中eventName为发送事件时定义的事件名称,callback为响应事件的回调函数。例如:uni.$on('event-name', (data) => {console.log(data)})。
当发送组件调用uni.$emit方法触发事件时,接收组件中对应的uni.$on方法会执行,并将传递的数据作为参数传入回调函数中。
相关问题
uni.$emit uni.$on
在uniApp框架中,`uni.$emit` 和 `uni.$on` 是Vue.js中的事件系统,它们用于组件间的通信。
1. **uni.$emit**: 发射事件,主要用于子组件向父组件或同级组件传递信息。基本语法如下:
```javascript
this.$emit(eventName, eventData); // 事件名称,以及你要发送的数据
```
当你在一个组件触发某个事件,比如用户点击了一个按钮,你可以这样做:
```javascript
this.$emit('buttonClicked', { action: 'save' });
```
2. **uni.$on**: 监听事件,即父组件或同级组件注册事件处理函数,当子组件发射该事件时会触发这个函数。基本语法如下:
```javascript
this.$on(eventName, handlerFunction); // 事件名称,以及处理函数
```
父组件可以监听子组件的事件,如接收数据:
```javascript
this.$on('buttonClicked', function (eventData) {
console.log('Button clicked:', eventData);
});
```
uni.$emit怎么使用
uni.$emit是uni-app框架中的一个事件触发器,用于向父组件或全局事件触发器发送事件。使用方法如下:
在子组件中使用:
```
this.$emit('事件名称',参数);
```
在父组件中使用:
```
this.$refs.子组件名称.$on('事件名称',(数据)=>{
//数据即为子组件传递过来的参数
})
```
全局事件触发器使用:
```
uni.$emit('事件名称', 参数);
或
uni.$on('事件名称', (数据)=>{
//do something
})
```
阅读全文