#Uniapp:页面通讯 全局uni.$on(eventName,callback) && uni.$emit(eventName,OBJECT) && uni.$once(eventName,ca

uni.$on(eventName,callback)

属性 类型 描述
eventName String 事件名
callback Function 事件的回调函数

监听全局的自定义事件。

事件可以由uni.$emit触发,回调函数会接收所有传入事件触发函数的额外参数

<template>
	<view>
		bb:
		<text>{{num}}</text>
	</view>
</template>

<script>
	export default {
		name: "b",
		data() {
			return {
				num: 0
			};
		},
		created() {
			uni.$on('updateNum', val => {
				this.num = this.num + val
			})
		},
		methods: {

		}
	}
</script>

<style>

</style>

uni.$emit(eventName,OBJECT)

触发全局自定义事件

<template>
	<view>
		a组件 <button @click="getAddNum">修改b组件数据</button>
	</view>
</template>

<script>
	export default {
		name: "a",
		data() {
			return {

			};
		},
		methods: {
			getAddNum() {
				uni.$emit('updateNum', 10)
			}
		}
	}
</script>

<style>

</style>

uni.$once(eventName,callback)

监听全局的自定义事件。事件可以由 uni.$emit 触发,但是只触发一次,在第一次触发之后移除监听器。

uni.$off([eventName, callback])

移除全局自定义事件监听器。

你可能感兴趣的:(#Uniapp,uni-app)