开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第6天,点击查看活动详情
上午总结了一下小程序每个页面的内置回调函数,还有路由怎么跳转。我觉得这篇文章罗列的还是比较清晰的,大家可以进行参考。
某一个页面的内置相关回调
onPullDownRefresh:function(){}只要用户下拉刷新,就会触发onReachBottom:function(){}监听用户上拉触底事件,该事件只会触发一次onPageScroll:function(){}监听用户滑动页面事件,接受的参数里有scrollTop属性,即页面在垂直方向已滚动距离,但全局配置app.json里要加上"onReachBottomDistance": "50PX"属性onShareAppMessage:function(){}只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮,分享给朋友的函数,可以设置返回值,返回值就会作为分享给朋友的面板展示
Page({
onShareAppMessage() {
const promise = new Promise(resolve => {
setTimeout(() => {
resolve({
title: '自定义转发标题'
})
}, 2000)
})
return {
title: '自定义转发标题',
path: '/page/user?id=123',
promise
}
}
})
onShareTimeline:function(){}只有定义了此事件处理函数,右上角菜单才会显示“分享到朋友圈”按钮,分享到朋友圈事件,也可以向进行自定义分享内容。onAddToFavorites(Object object)收藏事件,代码如下:
Page({
onAddToFavorites(res) {
// webview 页面返回 webViewUrl
console.log('webViewUrl: ', res.webViewUrl)
return {
title: '自定义标题',
imageUrl: 'http://demo.png',
query: 'name=xxx&age=xxx',
}
}
})
onResize(Object object)小程序屏幕旋转时触发。onTabItemTap(Object object)点击 tab 时触发onSaveExitState()每当小程序可能被销毁之前,页面回调函数onSaveExitState会被调用,可以进行退出状态的保存。
局部的page({})里有生命周期回调、监听相关事件的内置回调,还有自定义的事件回调,点击事件使用bindtap="事件名"给标记绑定事件。
某一个页面Page对象的属性和方法
属性route:通过this.route获取当前页面的路径
属性:setData,通过this.setData(data,callback)修改当前页面数据,主要作用是将数据从逻辑层发送到视图层,它是异步的,通过改变对应得this.data的值,这一步是同步的,第二个参数是视图层渲染完成之后调用
getCurrentPages()
这个方法可以获取所有页面的page对象,得到一个数组,第一个元素是首页,最后一个是当前页。
小程序路由---页面切换
- 在小程序中所有页面的路由全部由框架进行关联,不需要开发者进行配置
- 路由跳转时使用
<navigator open-type="" url=""></navigator>组件,url是要跳转到的页面,open-type属性的值有以下5个: navigate保留当前页面,跳转到应用内的某个页面。但是不能跳到tabBar页面。redirect关闭当前页面,跳转到应用的某个页面,但是不能跳到tabBar页面,没有历史记录switchTab跳转到tabBar页面,关闭其他tabBar页面reLaunch关闭所有页面,打开到应用内的某个页面navigateBack关闭当前页面,返回上一级或多级页面