uni-app watch 监听事件使用说明

本贴最后更新于 1259 天前,其中的信息可能已经水流花落

一、位置

watch 监听事件和 data、onLoad、onShow 等同级

二、具体语法

		watch: {
			addOrUpdateSceneDeviceComplete: {
				handler: function() {
					if(this.addOrUpdateSceneDeviceComplete == 2){
						uni.showLoading({
							title: '处理中...'
						})
					}
					if(this.addOrUpdateSceneDeviceComplete == 1){
						uni.hideLoading();
						uni.showToast({
							title: '添加成功',
							icon: 'none',
							duration: 500
						});
						setTimeout(() => {
							// 你要执行的函数
							uni.navigateBack();
						}, 1000);
					}
				},
				deep: true,
				immediate: true
			}
		},

三、参数说明

addOrUpdateSceneDeviceComplete:自定义的变量名称,由于我监听的是一个变量,所以这里也需使用变量名称。

handler:当监听到的变量发生变化时,会执行 handler 函数。

deep:进行深度监听。

immediate:如果我们需要在最初绑定值的时候也执行函数,则就需要用到 immediate 属性。

四、举例

我的业务是一个批量添加的操作,过程可能会耗时,所以需要做一个等待操作完成的功能。

所以我写了个变量,初始值为 0,当业务逻辑开始时,将变量设置为 2,操作完成后,变量设置为 1。

这样就可以在监听的时候判断变量如果是 2,那么执行加载中或处理中的提示,而操作完成后变量为 1 时,就停止 loading,提示操作成功等操作。

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...