在微信小程序的开发过程中,必然会遇到页面跳转的需求。那么如何监控页面跳转之间的事件呢?以我们之前的文章:鳄龙微信小程序框架组件研究(附源代码)为例,我们来看看小程序跳转页面时的事件& # 8230;
微信小程序的开发过程中,肯定会遇到页面跳转的需要,那么如何监控页面跳转之间的事件呢?以我们之前的文章:鳄龙微信小程序框架组件研究(附源代码)为例,我们来看看小程序在页面间跳转时的事件机制。
我们知道小程序提供了四种改变视图的机制:打开新页面、页面重定向、页面返回和tabBar切换。它们托管页面的生命周期,为应用提供相应的生命周期事件,方便应用各个阶段的业务处理。但是,页面相互跳转没有相应的事件机制,比如——
1.a页打开二级b页,b页做了一些操作,需要通知a页做相应的处理。2.从B页携带一些数据,返回a页。
以上两种场景很常见,归结起来就是页面之间如何轻松交互。当然,我们可以通过页面跳转传递参数或者全局数据对象来达到目的,但是在使用时有一些约束(转换参数或者维护全局对象)!
因此,鳄龙小程序项目采用事件机制来解决这一问题。我们重写了navigateToAPI。页面A调用这个接口跳转后,方法返回一个event对象事件给页面A,页面A可以注册自定义事件。目标页面(B页)可以根据业务需求触发事件响应,同时将相关数据作为参数传递给监听器回调。第一页
B页
应用程序接口
事件
部分代码如下:
Page({ data: { userInfo: {} },navigateToHttp:function(){ var event = API。navigate . go({ URL:& # 039;../http/index & # 039;,params:{ name:& # 039;比利& # 039;} });event . on(& quot;listok & quot,function(params){ console . log(params)});},navigateToExternalComponent:function(){ var event = API。navigate . go({ URL:& # 039;../external component/index & # 039;});},navigatepointernalcomponent:function(){ var event = API。navigate . go({ URL:& # 039;../internal component/index & # 039;});},navigateToPartComponent:function(params){ var event = API。navigate . go({ URL:& # 039;../part component/index & # 039;});},打开二级页面效果图-
VIP推荐:22门课程,总价3725元。VIP会员免费。
评论前必须登录!
注册