Page() 函数用来注册一个页面。。。。。。接受一个 object 参数,,,,,其指定页面的初始数据、生命周期函数、事务处理函数等。。。。。。
object 参数说明:
| 属性 | 类型 | 形貌 |
|---|---|---|
| data | Object | 页面的初始数据 |
| onLoad | Function | 生命周期函数--监听页面加载 |
| onReady | Function | 生命周期函数--监听页面首次渲染完成 |
| onShow | Function | 生命周期函数--监听页面显示 |
| onHide | Function | 生命周期函数--监听页面隐藏 |
| onUnload | Function | 生命周期函数--监听页面卸载 |
| onPullDownRefresh | Function | 页面相关事务处理函数--监听用户下拉行动 |
| onReachBottom | Function | 页面上拉触底事务的处理函数 |
| onShareAppMessage | Function | 用户点击右上角转发 |
| onPageScroll | Function | 页面转动触发事务的处理函数 |
| 其他 | 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.
},
onReachBottom: function() {
// Do something when page reach bottom.
},
onShareAppMessage: function () {
// return custom share data when user share.
},
onPageScroll: function() {
// Do something when page scroll
},
// Event handler.
viewTap: function() {
this.setData({
text: 'Set some data for updating view.'
})
},
customData: {
hi: 'MINA'
}
})
初始化数据将作为页面的第一次渲染。。。。。。data 将会以 JSON 的形式由逻辑层传至渲染层,,,,,以是其数据必需是可以转成 JSON 的名堂:字符串,,,,,数字,,,,,布尔值,,,,,工具,,,,,数组。。。。。。
渲染层可以通过 WXML 对数据举行绑定。。。。。。
示例代码:
<view>{{text}}</view>
<view>{{array[0].msg}}</view>
Page({
data: {
text: 'init data',
array: [{msg: '1'}, {msg: '2'}]
}
})
onLoad: 页面加载
onShow: 页面显示
onReady: 页面首次渲染完成
wx.setNavigationBarTitle请在onReady之后设置。。。。。。详见生命周期
onHide: 页面隐藏
navigateTo或底部tab切换时挪用。。。。。。
onUnload: 页面卸载
redirectTo或navigateBack的时间挪用。。。。。。生命周期的挪用以及页面的路由方式详见
onLoad参数
| 类型 | 说明 |
|---|---|
| Object | 其他页面翻开目今页面所挪用的 query 参数 |
onPullDownRefresh: 下拉刷新
config的window选项中开启enablePullDownRefresh。。。。。。wx.stopPullDownRefresh可以阻止目今页面的下拉刷新。。。。。。
onReachBottom: 上拉触底
onPageScroll: 页面转动
| 字段 | 类型 | 说明 |
|---|---|---|
| scrollTop | Number | 页面在笔直偏向已转动的距离(单位px) |
onShareAppMessage: 用户转发
自界说转发字段
| 字段 | 说明 | 默认值 |
|---|---|---|
| title | 转发问题 | 目今小程序名称 |
| path | 转发路径 | 目今页面 path ,,,,,必需是以 / 开头的完整路径 |
示例代码
Page({
onShareAppMessage: function () {
return {
title: '自界说转发问题',
path: '/page/user?id=123'
}
}
})
除了初始化数据和生命周期函数,,,,,Page 中还可以界说一些特殊的函数:事务处理函数。。。。。。在渲染层可以在组件中加入事务绑定,,,,,当抵达触发事务时,,,,,就会执行 Page 中界说的事务处理函数。。。。。。
示例代码:
<view bindtap="viewTap"> click me </view>
Page({
viewTap: function() {
console.log('view tap')
}
})
route 字段可以获取到目今页面的路径。。。。。。
setData 函数用于将数据从逻辑层发送到视图层,,,,,同时改变对应的 this.data 的值。。。。。。
接受一个工具,,,,,以 key,,,,,value 的形式体现将 this.data 中的 key 对应的值改酿成 value。。。。。。
其中 key 可以很是无邪,,,,,以数据路径的形式给出,,,,,如 array[2].message,,,,,a.b.c.d,,,,,并且不需要在 this.data 中预先界说。。。。。。
注重:
示例代码:
<!--index.wxml-->
<view>{{text}}</view>
<button bindtap="changeText"> Change normal data </button>
<view>{{num}}</view>
<button bindtap="changeNum"> Change normal num </button>
<view>{{array[0].text}}</view>
<button bindtap="changeItemInArray"> Change Array data </button>
<view>{{object.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',
num: 0,
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'
})
},
changeNum: function() {
this.data.num = 1
this.setData({
num: this.data.num
})
},
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 实例的生命周期。。。。。。

更多微信小程序开发教程,,,,,可以关注。。。。。。
KESION pp电子软件
KESION pp电子软件是海内领先的在线教育软件及私域社交电商软件服务提供商,,,,,恒久专注于为企业提供在线教育软件及社交电商SaaS平台解决方案。。。。。。
公司焦点产品云开店SaaS社交电商服务平台、在线教育SaaS服务平台、教育企业数字化SaaS云平台、企微营销助手、私有化自力安排品牌网校和在线教育咨询等。。。。。。KESION 一直通过手艺立异,,,,,提供产品和服务,,,,,助力企业向数字化转型,,,,,通过科技驱动商业刷新,,,,,让商业变得更智慧!
场景值 基础库 1.1.0 最先支持,,,,,低版本需做兼容处理 目今支持的场景值有: 场景值ID 说明 1001 发明栏小程序主入口 1005 顶部搜索框的搜索效果页 1006 发明栏小程序主入口搜索框的搜
页面路由 在小程序中所有页面的路由所有由框架举行治理。。。。。。 页面栈 框架以栈的形式维护了目今的所有页面。。。。。。当爆发路由切换的时间,,,,,页面栈的体现如下: 路由方式 页面栈体现 初始化...