news 2026/9/3 0:34:50

微信小程序在page页面中watch监听变量变化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
微信小程序在page页面中watch监听变量变化

微信小程序在page页面中watch监听变量变化

一、首先在小程序的utils目录下创建一个watch.js文件。

二、watch.js完整代码如下

/** * 监听器模块,用于监听数据对象的属性变化 */functionwatch(context,variableName,callback){letvalue=context.data[variableName];// 获取被监听属性的当前值// 使用 Object.defineProperty 方法在数据对象上定义属性的 getter 和 setterObject.defineProperty(context.data,variableName,{configurable:true,// 可配置enumerable:true,// 可枚举get:function(){returnvalue;// 返回属性的当前值},set:function(newVal){constoldVal=value;// 记录属性的旧值value=newVal;// 更新属性的值callback.call(context,newVal,oldVal);// 调用回调函数,传递新值和旧值}});}module.exports={watch:watch};

三、在page页对应的js文件顶部引入watch

import*aswatchfrom"../../utils/watch";Page({...});

四、在page页面的onLoad函数中启用监听

Page({/** * 页面的初始数据 */data:{currentBeginDate:newDate().getTime(),currentEndDate:newDate().getTime(),},/** * 生命周期函数--监听页面加载 */onLoad(t){getApp().page.onLoad(this,t);varthat=this;watch.watch(that,'currentBeginDate',(newVal,oldVal)=>{console.log('监听的数据从'+oldVal+'变成'+newVal);});watch.watch(that,'currentEndDate',(newVal,oldVal)=>{console.log('监听的数据从'+oldVal+'变成'+newVal);});},});
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 20:55:58

AI Agent的多语言支持:跨语言理解与生成

AI Agent的多语言支持:跨语言理解与生成 关键词:AI Agent、多语言支持、跨语言理解、跨语言生成、自然语言处理 摘要:本文围绕AI Agent的多语言支持展开,深入探讨了跨语言理解与生成的相关技术。首先介绍了该领域的背景,包括目的、预期读者、文档结构和术语表。接着阐述了…

作者头像 李华
网站建设 2026/8/31 11:46:30

云服务器运维实战:从环境搭建到安全加固全流程​

云服务器的高效运行离不开科学的运维管理,从基础环境搭建到进阶安全加固,每一步都直接影响系统稳定性与业务连续性。入门阶段需完成三大核心操作:首先是服务器连接,Linux 系统可通过 PuTTY、Xshell 工具或终端 SSH 命令连接&#…

作者头像 李华
网站建设 2026/9/2 21:54:25

云服务器成本管控:从粗放投入到精细运营

云服务器成本管控:从粗放投入到精细运营某跨境电商的降本实践具有代表性:通过预留实例(RI)覆盖80%基础负载,结合按需实例应对流量波动,使EC2计算成本下降42%;使用S3智能分层存储将归档数据存储成…

作者头像 李华
网站建设 2026/9/2 14:56:06

Segmentation Fault 调试指南:gdb + ASan + Valgrind 全流程实战

🧭 目录什么是 Segmentation Fault?从内存模型理解问题为什么很多 SegFault 不好找?——“错误不在崩的地方”演示环境准备(Linux / GCC / gdb / ASan / Valgrind)示例程序:两个看似简单却致命的 Buggdb 定…

作者头像 李华
网站建设 2026/9/1 12:47:41

MATLAB + 深度学习 = 心电图分类神器!完整流程 + 关键代码

当下,心电图(ECG)信号仍然是临床诊断心律失常、心肌缺血、传导阻滞等疾病的重要依据。然而,如何高效处理多导联 ECG 数据、提取有效特征并构建可复现实用的模型,依然是工程与科研中的痛点。 本文基于 MATLAB 深度学习框…

作者头像 李华