当前位置:   article > 正文

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

小程序 watch

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

二、watch.js完整代码如下

  1. /**
  2. * 监听器模块,用于监听数据对象的属性变化
  3. */
  4. function watch(context, variableName, callback) {
  5. let value = context.data[variableName]; // 获取被监听属性的当前值
  6. // 使用 Object.defineProperty 方法在数据对象上定义属性的 getter 和 setter
  7. Object.defineProperty(context.data, variableName, {
  8. configurable: true, // 可配置
  9. enumerable: true, // 可枚举
  10. get: function () {
  11. return value; // 返回属性的当前值
  12. },
  13. set: function (newVal) {
  14. const oldVal = value; // 记录属性的旧值
  15. value = newVal; // 更新属性的值
  16. callback.call(context, newVal, oldVal); // 调用回调函数,传递新值和旧值
  17. }
  18. });
  19. }
  20. module.exports = {
  21. watch: watch
  22. };

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

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

  1. watch.watch(this, 'data中的变量名,不需要this.data,但需要外部引号', (newVal, oldVal) => {
  2. console.log('监听的变量从 ' + oldVal + ' 变成 ' + newVal);
  3. });

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/1007579
推荐阅读
  

闽ICP备14008679号