1.下拉刷新
1、需要在.json文件里设置 "enablePullDownRefresh": true,用于开启页面下拉加载效果,可以当前页设置也可以全局设置;
{
"enablePullDownRefresh": true //当前页
"backgroundTextStyle": "dark" //顶部显示颜色为深色的三个点
}
or
"window": {
"enablePullDownRefresh": true //全局
"backgroundTextStyle": "dark" //顶部显示颜色为白色的三个点
}
2、注意在开发工具中模拟下拉动作时mac触摸板需要点击同时下拉才能模拟下拉动作,直接双指下拉不行;
3、js文件里,第一设置好后用onPullDownRefresh()函数监听下拉动作,注意页面可能已经有默认的onPullDownRefresh()函数存在,需要去重写;
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
}
4、重置页面初始数据+调用onLoad()函数制作重新加载效果;
onPullDownRefresh: function () {
var that = this;
that.setData({
currentTab: 0 //当前页的一些初始数据,视业务需求而定
})
this.onLoad(); //重新加载onLoad()
},
5、此时下拉刷新已经ok,但是还可以再优化下:在函数的开头设置wx.showNavigationBarLoading() 显示下拉刷新时页面标题。在函数结尾处设置wx.stopPullDownRefresh()停止下拉刷新效果,这样刷新完后就不会继续显示那三个点了。
onPullDownRefresh: function () {
wx.showNavigationBarLoading() //在标题栏中显示加载
var that = this;
that.setData({
currentTab: 0 //当前页的一些初始数据,视业务需求而定
})
this.onLoad(); //重新加载onLoad()
},
wx.hideNavigationBarLoading() //完成停止加载
wx.stopPullDownRefresh() //停止下拉刷新
完整例子:
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
wx.showNavigationBarLoading() //在标题栏中显示加载
//模拟加载
this.onLoad(); //重新加载页面
setTimeout(function () {
// complete
wx.hideNavigationBarLoading() //完成停止加载
wx.stopPullDownRefresh() //停止下拉刷新
}, 1500); //延迟1.5秒
},
说明:
onPullDownRefresh 下拉刷新事件监听,具体看一下里面的代码,wx.showNavigationBarLoading() 与wx.hideNavigationBarLoading() 这两句话是用来控制小菊花的显示和隐藏,由于我们现在还没有讲解网络请求,所以我就模拟了一下网络加载,通过setTimeout方法,写一个时间延迟的方法,这个方法可以模拟网络加载所消耗的时间,还有就是当网络加载完成我们要停止下拉刷新wx.stopPullDownRefresh() 。
2.获取页面参数
1、获取url传递的参数:
url:"pages/home/home?type=2"
然后在js中的onLoad()函数中得到值:options.type就可以得到了,如下:
onLoad: function (options) {
var type = options.type,
console.log(type);
}
输出 2;
2、获取view页面传递的参数:
通过bindtap绑定detail事件,并且把要传递的参数(title、time),以 “data-” 的格式传递。
<view bindtap = "detail" data-title="{{item.title}}" data-time="{{item.time}}">
标题:{{item.title}}
时间:{{item.time}}
</view>
当前页面的js如下:e.currentTarget.dataset.XX 即获取视图中 “data-” 格式的数据。并在navigateTo中传入参数进行跳转。
detail:function(e){
var title = e.currentTarget.dataset.title;
var time = e.currentTarget.dataset.time;
}
3、获取当前已加载的url参数:
url:"pages/home/home?title=2"
//该函数获取所有栈内的路由
var pages = getCurrentPages();
//数组中最后一个即当前路由,options是参数
var options = pages.pop();
//模拟加载
var title = options.data.title;
参考网址:
https://blog.csdn.net/qq_40081577/article/details/83001468
转载请注明: ITTXX.CN--分享互联网 » 小程序下拉刷新和获取当前已加载页面的参数
最后更新:2020-06-02 16:10:47