当前位置: 首页 > news >正文

微信小程序在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);});},});
http://www.gsyq.cn/news/188898.html

相关文章:

  • DeepSeek总结的算法 X 与舞蹈链文章
  • uboot logo显示问题
  • 数控电源仿真设计探索
  • session、cookie、token的核心区别
  • 【小贷行业】2027年生死劫:12%利率红线下的血色黎明与AI破局之路
  • 换能器件阻抗分析仪
  • openGauss在教育领域的AI实践:基于Java JDBC的学生成绩预测系统 - 详解
  • 力扣406 根据身高重建队列 java实现
  • 西门子时间计数器
  • 一个 Bug,把 MIT 工程师从谷歌逼醒
  • AI自动画界面?Google这个开源神器让前端工程师失业了
  • 数据驱动未来:大数据价值实现的创新方法
  • 低功耗蓝牙主机与从机四种数据交流方式
  • AI-Rime V3——指尖AI
  • AI Agent的多语言支持:跨语言理解与生成
  • 函数式编程:Lambda 表达式:Compose 的核心。比如 { onClick() },请直接给出一些练习事例出来
  • Java CountDownLatch 代码示例:协调多个线程的执行顺序(比赛起跑)
  • Segmentation Fault 调试指南:gdb + ASan + Valgrind 全流程实战
  • 电气设备的发热量计算
  • 不止是整理
  • 北京陪诊机构推荐守嘉陪诊:全链条护航让首都就医更从容 - 品牌排行榜单
  • Java+React全栈开发面试宝典(完整60题)
  • 云服务器成本管控:从粗放投入到精细运营
  • 云服务器架构演进:从虚拟化到容器化与无服务器的跨越
  • 云服务器架构演进:从虚拟化到容器化与无服务器的跨越
  • 墨香飘洋:当外国友人执起中国毛笔
  • 科研牛马千万不要错过!手把手教你用AI精准匹配真实参考文献,仅需一个专业应用+两个提示词指令
  • 云服务器运维实战:从环境搭建到安全加固全流程​
  • CCF-GESP计算机学会等级考试2025年12月三级C++T2 小杨的智慧购物
  • 行车记录仪乱码大揭秘:数据恢复不再是难题!