微信小程序 Page()函数的介绍

互联网 18-6-22
这篇文章主要介绍了微信小程序 Page()函数详解的相关资料,在开发过程中肯定会遇到Page()函数,希望能帮助到大家,需要的朋友可以参考下

微信小程序——Page():

在开发微信小程序的时候遇到函数,或者不明白的地方,最好上官网查询,相应的知识,这里小编帮大家整理了下page()函数的用法。

object 参数说明:

属性 类型描述
dataObject页面的初始数据
onLoadFunction生命周期函数--监听页面加载
onReadyFunction生命周期函数--监听页面初次渲染完成
onShowFunction生命周期函数--监听页面显示
onHideFunction生命周期函数--监听页面隐藏
onUnloadFunction生命周期函数--监听页面卸载
onPullDownRefreashFunction页面相关事件处理函数--监听用户下拉动作
其他Any开发者可以添加任意的函数或数据到 object 参数中,用 this 可以访问
//index.js  Page({   data: {    text: "This is page data."   },   onLoad: function(options) {    // Do some initialize when page load.   },   onReady: function() {    // Do something when page ready.   },   onShow: function() {    // Do something when page show.   },   onHide: function() {    // Do something when page hide.   },   onUnload: function() {    // Do something when page close.   },   onPullDownRefresh: function() {    // Do something when pull down   },   // Event handler.   viewTap: function() {    this.setData({     text: 'Set some data for updating view.'    })   }  })

初始化数据

初始化数据将作为页面的第一次渲染。data 将会以 JSON 的形式由逻辑层传至渲染层,所以其数据必须是可以转成 JSON 的格式:字符串,数字,布尔值,对象,数组。渲染层可以通过 WXML 对数据进行绑定。

<view>{{text}}</view>  <view>{{array[0].msg}}</view>
Page({   data: {    text: 'init data',    array: [{msg: '1'}, {msg: '2'}]   }  })

生命周期函数

页面相关事件处理函数

事件处理函数

<view bindtap="viewTap"> click me </view>

Page({   viewTap: function() {    console.log('view tap')   }  })

Page.prototype.setData()

注意:

直接修改 this.data 无效,无法改变页面的状态,还会造成数据不一致。单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。

setData() 参数格式

接受一个对象,以 key,value 的形式表示将 this.data 中的 key 对应的值改变成 value。其中 key 可以非常灵活,以数据路径的形式给出,如 array[2].message,a.b.c.d,并且不需要在 this.data 中预先定义。

<view>{{text}}</view>  <button bindtap="changeText"> Change normal data </button>  <view>{{array[0].text}}</view>  <button bindtap="changeItemInArray"> Change Array data </button>  <view>{{obj.text}}</view>  <button bindtap="changeItemInObject"> Change Object data </button>  <view>{{newField.text}}</view>  <button bindtap="addNewField"> Add new data </button>
//index.js  Page({   data: {    text: 'init data',    array: [{text: 'init data'}],    object: {     text: 'init data'    }   },   changeText: function() {    // this.data.text = 'changed data' // bad, it can not work    this.setData({     text: 'changed data'    })   },   changeItemInArray: function() {    // you can use this way to modify a danamic data path    this.setData({     'array[0].text':'changed data'    })   },   changeItemInObject: function(){    this.setData({     'object.text': 'changed data'    });   },   addNewField: function() {    this.setData({     'newField.text': 'new data'    })   }  })

生命周期

下图说明了 Page 实例的生命周期。

在小程序中所有页面的路由全部由框架进行管理,对于路由的触发方式以及页面生命周期函数如下:路由方式

触发时机 路由后页面 路由前页面

路由后页面路由前页面
初始化小程序打开的第一个页面onLoad,onShow
打开新页面调用 API wx.navigateTo 或使用组件<navigator />onLoad,onShowonHide
页面重定向调用 API wx.redirectTo 或使用组件<navigator />onLoad,onShowonUnload
页面返回调用 API wx.navigateBack或用户按左上角返回按钮onShowonUnload
Tab切换多 Tab 模式下用户切换 Tab第一次打开 onLoad,onshow;否则 onShowonHide

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

微信小程序中wx:for和wx:for-item的用法

微信小程序-getUserInfo回调的介绍

以上就是微信小程序 Page()函数的介绍的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: Page()
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:微信小程序中跳转页面的两种方法

相关资讯