uni.$emit("pageScroll", e); 子组件里想要获取怎么写
时间: 2023-06-05 09:04:27 浏览: 173
您可以使用$on方法,具体写法为:this.$parent.$on('pageScroll', callback)。其中this.$parent表示当前子组件的父组件,callback表示您需要执行的回调函数。
相关问题
this.$emit和uni.$emit
this.$emit和uni.$emit都是用于在Vue组件中触发自定义事件的方法。它们的用法类似,都需要传递两个参数:事件名称和要传递的数据。具体区别在于this.$emit是Vue实例的方法,而uni.$emit是uni-app框架的方法。
下面是一个使用this.$emit触发自定义事件的例子:
```javascript
// 子组件中触发自定义事件
this.$emit('my-event', 'hello world')
// 父组件中监听自定义事件
<template>
<child-component @my-event="handleEvent"></child-component>
</template>
<script>
export default {
methods: {
handleEvent(data) {
console.log(data) // 输出:hello world
}
}
}
</script>
```
下面是一个使用uni.$emit触发自定义事件的例子:
```javascript
// 子组件中触发自定义事件
uni.$emit('my-event', 'hello world')
// 父组件中监听自定义事件
<template>
<child-component></child-component>
</template>
<script>
export default {
mounted() {
uni.$on('my-event', data => {
console.log(data) // 输出:hello world
})
}
}
</script>
```
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);
});
```
阅读全文