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

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

一、位置

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,提示操作成功等操作。

相关帖子

欢迎来到这里!

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

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