微信小程序开发详解《四》页面生命周期和参数传递

1:页面的生命周期

在初始页面:index.js中增加如图所示代码

点击“编译”后,运行这个小程序:日志如下图所示:初始页面index.js启动会从app,js中的生命周期方法调用开始:onLaunch---onShow,然后开始调用index.js页面中的生命周期方法:onLoad---onShow---onReady,当点击“后台”时,页面index.js进入后台,这时回调生命周期方法onHide,如果再点击“前台”,使页面回到前台,这时回调页面生命周期方法:onShow(注意,这时不再回调onLoad)

2:页面的跳转

编写index.wxml代码如图5所示,可以看出text组件绑定了一个事件:itemClick,itemClick方法实现详见图一:

itemClick: function (){ console.log("---index page itemClick---"); wx.navigateTo({ url: '../logs/logs' })

其中:wx.navigateTo代表从index.js这一页面跳转到pages/logs/logs页面,注意:navigateTo代表跳转到logs页面后,index页面并不销毁,在logs页面下面,通过logs页面左上角的返回按钮可以返回到index页面,而如果是wx.redirectTo,则index页面销毁,无法从logs页面返回到index页面,这里就仅以wx.navigateTo为例

在模拟器中如果点击文章2的text组件后,跳转到对应logs界面日志如图6所示,logs页面对应js代码如图7所示,通过对比图6,图7可以看出,当从index页面跳转到logs页面这个过程中,要先调用index生命周期方法onHide(如果是wx.redirectTo方式跳转还要调用index生命周期方法onUnload),然后依次调用logs页面的生命周期方法:onLoad---onShow---onReady

3:页面间参数传递

将图一,index.js代码修改为:

wx.navigateTo({ url: "../logs/logs?id=1&title=标题abc" })

即:从index页面跳转到logs页面过程中,传递两个参数:id=1和title=标题abc

我们再看logs页面代码如图7所示,在onLoad中通过传入参数:options获取到了传递的参数:id和title,代码中又将这两个参数设置到logs.wxml绑定的两个变量中:articleId,pageTitle,显示结果和logs.wxml代码下图所示:

上图中模拟器的结果可以看到,logs页面显示出来从index页面传递过来的两个参数:id=1和title=标题abc

注:页面跳转也可以在.wxml中配置,如图5中所示代码,文章1对应的text组件可以通过如下代码配置跳转:

<navigator url="../logs/logs?id=100&title=标题" >

原文发布于微信公众号 - 极乐技术社区(wxapp-union)

原文发表时间:2017-01-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端说吧

Vue - 实战疑点总结

3017
来自专栏柠檬先生

vue2.0 组件通信

组件通信:     子组件要想拿到父组件数据 props     子组件不允许直接给父级的数据, 赋值操作如果想更改,父组件每次穿一个对象给子组件,     对...

22710
来自专栏james大数据架构

Android中include标签的使用

在Android的开发中,我们知道布局文件可以让我们很方便的对各个UI控件进行位置安排跟属性设置,而在程序中可以直接取得控件并赋予对应操作功能。但是,如果是一个...

2206
来自专栏蛋未明的专栏

JavaScript实现本地图片上传预览功能(兼容IE、chrome、FF)

4116
来自专栏Nian糕的私人厨房

jQuery 动态绑定

这是在项目过程中所遇到的一个问题,给 JS 动态生成的元素绑定事件失效,代码如下所示:

2713
来自专栏每日一篇技术文章

微信小程序_04 数据绑定

6432
来自专栏python3

tkinter -- Scrollbar

Scrollbar(滚动条),可以单独使用,但最多的还是与其它控件(Listbox,Text,Canva 等)结合使用

812
来自专栏React Native开发圈

React Native 弹出框组件

npm install--save react-native-popup-dialog

1481
来自专栏吾爱乐享

php学习之html–精彩回顾(七)

1553
来自专栏九彩拼盘的叨叨叨

浏览器默认样式

浏览器都拥有一套自己的默认样式。 浏览器之所以有默认样式表,是为了没有样式表的页面也能凑活着看。 不同浏览器;以及版本不同的浏览器的默认样式一般都是不同的。

802

扫码关注云+社区

领取腾讯云代金券