这篇文章主要介绍“小程序开发中如何扩展Page页面对象 ”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“小程序开发中如何扩展Page页面对象 ”文章能帮助大家解决问题。
小程序是通过调用Page函数来注册一个页面的:
这里Page的作用相当于构造函数,Page会初始化页面对象(实例),然后将配置参数中的属性 merge 到页面对象上。
假设你封装了个http模块负责发出请求,你想在页面对象中直接通过this.http引用这个模块,就需要扩展页面对象。要扩展一个对象,在 Jav免费云主机域名aScript 中的常见做法是扩展构造函数的prototype属性,这是Vue很多插件的实现:
很不幸,在小程序中这个办法无效。Page并不是普通的构造函数,底层还做了很多其他事情,没办法直接通过Page.prototype扩展页面对象。
我们可以转变思路,扩展传进Page的配置对象。既然始终要通过调用Page注册页面,可以定义一个函数,这个函数会将收到的配置对象参数进行处理,然后再传给Page。
注册页面的时候改用这个wxPage:
为了增强页面对象,每个需要的页面都得引入wxPage是一件不太省心的事;更多时候我们是在维护一个老项目,需要扩展每个原有的页面对象,这时可以直接修改Page:
一般来说,修改Page的时机是在ApponLoad的时候。这样原有的页面不用修改,直接就能通过this.http拿到http。
有时我们希望在页面注册的onLoad阶段执行一些通用的逻辑,例如埋点,打 log 等,这时可以改写配置对象中的onLoad方法:
小程序中的页面跳转会形成一个页面栈,栈中存放着每个页面对象,可以通过getCurrentPages方法获得这个页面栈。可以在页面onLoad的时候获取这个页面栈,然后取出倒数第二个对象,就是当前页上一页的页面对象:
这样在页面对象中可通过引用this.__previousPage获取上一页页面对象的data及所有方法,这样在一些只需要两个页面互动的情景下,当前页直接调用上一个页面对象的方法(相当于回调)后再返回,比通过全局状态管理上一页的数据要方便。
这个不多说了,直接看代码吧:关于“小程序开发中如何扩展Page页面对象 ”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注百云主机行业资讯频道,小编每天都会为大家更新不同的知识点。
这篇文章主要讲解了“怎么用小程序接口提升性能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用小程序接口提升性能”吧! 从PC时代的物理键盘鼠标到移动端时代手指,虽然输入设备极大精简,但是手指操作的准确性却大…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。