uniapp -- 页面生命周期
除了 Vue 的生命周期之外,uniapp 也有一套自己的页面生命周期 😁,它们依然和 data 等方法同级
监听页面初始化
onInit(){ }
监听页面的加载
它的参数是上个页面所传递的数据,参数类型是对象类型(用于页面之间的传参)
onLoad (options) { }
监听页面的显示
页面每次出现在屏幕上都会触发,包括从下级页面点返回露出当前页面
onShow () { }
监听页面初次渲染完成
onReady () { }
监听页面的隐藏
onHide () { }
监听页面的卸载
onUnload() { }
监听窗口尺寸变化
onResize () { }
监听用户下拉动作
这个相比起来是比较好玩的,因为你可以在用户做出下拉动作的同时做出一些交互,比如下拉刷新
onPullDownRefresh () { }
我们模拟一下下拉刷新:
people:[ { name:张山, id:101 }, { name:李四, id:102 }, { name:王五, id:103 }, { name:王麻子, id:104 }, { name:小瘪三, id:105 } ]
比如我们从服务器拿来这样一串用户信息,我们想要下拉刷新之后进行一个顺序的改变
onPullDownRefresh () { setTimeout(()=>{ this.people = [ { name:李四, id:102 }, { name:小瘪三, id:105 }, { name:王五, id:103 }, { name:张山, id:101 }, { name:王麻子, id:104 } ] uni.stopPullDownRefresh() },2000) }
我使用一个定时器模拟一下真实的请求事件,否则刷新会很快,我们几乎看不到任何效果数据的顺序就发生了改变
uni.stopPullDownRefresh()将停止页面的刷新动作
页面滚动到底部
onReachBottom () { }
这个函数官方也指明了,并不是将页面滚动到底部,而是用于下拉刷新的,我们打开浏览器一直向下滑动不就是下拉刷新吗? 😆
这个和下拉刷新是一样的用法,当然我们也可以去设置具体滚动到的位置 – 在页面的style节点中配置 onReachBottomDistance 就可以手动配置加载下一个页面所处的位置了
{ "path": "pages/list/list", "style": { "onReachBottomDistance": 300 } }
其他函数
上一篇:
uniapp开发微信小程序-2.页面制作
下一篇:
顺丰快递业务接入API总览-快递鸟