微信小程序设置简单的监听器(转载)

这篇具有很好参考价值的文章主要介绍了微信小程序设置简单的监听器(转载)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

================================================================================

创建一个watch.js文件


/**

  • 设置监听器 watch.js

*/

export function setWatcher(page) {

let data = page.data;

let watch = page.watch;

Object.keys(watch).forEach(v => {

let key = v.split(‘.’); // 将watch中的属性以’.'切分成数组

let nowData = data; // 将data赋值给nowData

for (let i = 0; i < key.length - 1; i++) { // 遍历key数组的元素,除了最后一个!

nowData = nowData[key[i]]; // 将nowData指向它的key属性对象

}

let lastKey = key[key.length - 1];

// 假设key===‘my.name’,此时nowData===data[‘my’]=data.my,lastKey=‘name’

let watchFun = watch[v].handler || watch[v]; // 兼容带handler和不带handler的两种写法

let deep = watch[v].deep; // 若未设置deep,则为undefine

observe(nowData, lastKey, watchFun, deep, page); // 监听nowData对象的lastKey

})

}

/**

  • 监听属性 并执行监听函数

*/

function observe(obj, key, watchFun, deep, page) {

var val = obj[key];

// 判断deep是true 且 val不能为空 且 typeof val===‘object’(数组内数值变化也需要深度监听)

if (deep && val != null && typeof val === ‘object’) {

Object.keys(val).forEach(childKey => { // 遍历val对象下的每一个key

observe(val, childKey, watchFun, deep, page); // 递归调用监听函数

})

}

let that = this;

Object.defineProperty(obj, key, {

configurable: true,

enumerable: true,

set: function (value) {

watchFun.call(page, value, val); // value是新值,val是旧值

val = value;

if (deep) { // 若是深度监听,重新监听该对象,以便监听其属性。

observe(obj, key, watchFun, deep, page);

}

},

get: function () {

return val;

}

})

}

module.exports = {

setWatcher: setWatcher

}

在使用的页面


导入监听器文件:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

微信小程序设置简单的监听器(转载),程序员,微信小程序,小程序

微信小程序设置简单的监听器(转载),程序员,微信小程序,小程序

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

微信小程序设置简单的监听器(转载),程序员,微信小程序,小程序

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)

微信小程序设置简单的监听器(转载),程序员,微信小程序,小程序

最后

给大家分享一些关于HTML的面试题,有需要的朋友可以戳这里获取,先到先得哦。

微信小程序设置简单的监听器(转载),程序员,微信小程序,小程序
微信小程序设置简单的监听器(转载),程序员,微信小程序,小程序

要的朋友可以戳这里获取,先到先得哦。**

[外链图片转存中…(img-m9Dr5fXb-1711770281761)]
[外链图片转存中…(img-fTB4YlHD-1711770281762)]文章来源地址https://www.toymoban.com/news/detail-854289.html

到了这里,关于微信小程序设置简单的监听器(转载)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序 - 最新超详细 watch 侦听器功能,支持监听对象、数组及各种复杂对象数据,可在任意页面或组件中使用(绝非网上千篇一律的 “setWatcher“ 不能监听对象的垃圾方法,方案开箱即用)

    网上的教程全都是一摸一样的 setWatcher(this) 方案,重要的是这种方案不能监听对象,可以说一无是处。 本文 在微信小程序中实现 watch 监听器监听数据的功能,让小程序拥有 watch 监听对象、数组等复杂数据变化的能力, 您按照教程几分钟就能搞定,保证 100% 好用且使用方法

    2024年02月11日
    浏览(59)
  • Spring中最简单的过滤器和监听器

            Filter也称之为过滤器,它是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息

    2024年02月14日
    浏览(28)
  • 微信小程序开发入门与实战 ⑩⑤(定义Data数据及监听器)

    @作者 : SYFStrive   @博客首页 : HomePage 📜: 微信小程序 📌: 个人社区(欢迎大佬们加入) 👉: 社区链接🔗 📌: 觉得文章不错可以点点关注 👉: 专栏连接🔗 💃: 感谢支持,学累了可以先看小段由小胖给大家带来的街舞😀 👉 微信小程序 (🔥) 组件模板渲染的私有数

    2024年02月09日
    浏览(29)
  • HttpSessionListener监听器和HttpSessionAttributeListener监听器

    1.作用:监听Session创建或销毁,即生命周期监听 2.相关方法: 3.使用场景: 和前面的ServletContextListener等一样,可以用于监控用户上线和离线 4.代码 HttpSessionListener监听器 实现类 HttpSessionAttributeListener监听器 1.作用:监听Session属性的变化,使用少 2.相关方法: 3.代码 监听器 实

    2024年02月04日
    浏览(38)
  • Listener监听器----HttpServletRequest对象的生命周期监听器

    一、HttpServletRequest对象的生命周期监听器         ServletRequestListener接口定义了ServletRequest(是HttpServletRequest接口的父接口类型)对象生命周期的监听行为。 void requestInitialized(ServletRequestEvent sre)         HttpServletRequest对象创建后会触发该监听器方法,并将已创建HttpServletR

    2024年01月23日
    浏览(47)
  • camunda执行监听器和任务监听器有什么区别

    Camunda的执行监听器和任务监听器是用于添加自定义逻辑的监听器,它们的区别在于作用对象和触发事件的不同。 执行监听器是与BPMN流程中的各种流程元素(例如开始事件、用户任务、服务任务、网关等)相关联的。执行监听器可以在流程元素执行前、执行后或抛出异常时添

    2024年02月04日
    浏览(38)
  • 消息监听器和消息监听容器

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 消息监听器顾名思义用来接收消息,它是使用消息监听容器的必须条件。目前有8个消息监听器: 使用自动提交或容器管理的提交方法之一,处理从 Kafka 消费者 p

    2024年02月07日
    浏览(39)
  • Android手势监听、触摸监听器、onTouchListener

    一次点击事件(onClickListener)由 一次down事件,多次move事件和一次up事件构成,move事件出现的次数由用户的按压效果决定。down表示手势事件开始,up表示结束,move则代表着过程。此时代码中onTouchLishtener方法中返回的结果为ture,则表示拦截用户的该次行为,由此方法进行处理

    2024年02月04日
    浏览(32)
  • watch监听器三种监听方式

    1、普通监听( 无法监听到第一次绑定的变化 ) 这样使用watch时有一个特点,就是当值第一次绑定的时候,不会执行监听函数,只有值发生改变才会执行。 2、普通监听( 可以监听到第一次绑定的变化) 给 text 绑定了一个handler方法,之前我们写的 watch 方法其实默认写的就是

    2024年02月15日
    浏览(30)
  • SpringBoot 监听器

    Spring的监听器也可以说是一种观察者模式,它能实现事件与事件监听者直接的解耦,在Spring中监听器的实现主要有一下重要组件: ApplicationListener:事件监听者,观察者; ApplicationEvent:Spring 事件,记录事件源、事件内容、时间等数据; 有些场景事件主体主要是String或基本类

    2024年02月09日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包