收藏
回答

在win微信开发工具上 下拉刷新会连续触发

框架类型 问题类型 操作系统 工具版本
小程序 Bug Windows 1.02.1805180


var Service = require('../../utils/Service.js');
 
var util = require('../../utils/util.js');
 
 
 
Page({
 
 
 
/**
 
   * 页面的初始数据
 
   */
 
data: {
 
getDataState: true,
 
globalLoading: true,
 
animationBeingLoaded: {},
 
BeingLoadedState: {
 
text: '没有更多数据',
 
show: false,
 
icon: false
 
},
 
movieData: null,
 
FilmStars: {}
 
},
 
 
 
/**
 
   * 生命周期函数--监听页面加载
 
   */
 
onLoad: function (options) {
 
wx.setNavigationBarTitle({
 
title: '豆瓣电影 新片榜'
 
});
 
this.getData();
 
},
 
 
 
/**
 
   * 生命周期函数--监听页面初次渲染完成
 
   */
 
onReady: function () {
 
 
 
},
 
 
 
/**
 
   * 生命周期函数--监听页面显示
 
   */
 
onShow: function () {
 
},
 
 
 
/**
 
   * 生命周期函数--监听页面隐藏
 
   */
 
onHide: function () {
 
},
 
 
 
/**
 
   * 生命周期函数--监听页面卸载
 
   */
 
onUnload: function () {
 
},
 
 
 
onPullDownRefresh: function () {
 
var that = this;
 
wx.startPullDownRefresh();
 
if(that.data.getDataState){
 
that.getData();
 
}else{
 
console.log("操作频繁");
 
}
 
},
 
 
 
/**
 
   * 自定义函数
 
   */
 
 
 
// 请求数据
 
getData: function () {
 
var that = this;
 
that.setData({
 
getDataState: false
 
});
 
wx.request({
 
url: Service.DoubanApi.new_movies,
 
method: 'GET',
 
data: {},
 
header: {
 
'content-type': 'json'
 
},
 
success: function (res) {
 
console.log(res);
 
that.setData({
 
getDataState: true
 
});
 
if (res.statusCode == 200) {
 
var ToastText = '';
 
if(that.data.movieData != null){
 
wx.showToast({
 
title: '刷新成功',
 
icon: 'success',
 
duration: 1000
 
})
 
}
 
that.FilmStars(res.data.subjects);
 
that.setData({
 
globalLoading: false,
 
movieData: res.data.subjects,
 
BeingLoadedState: {
 
text: '没有更多数据',
 
show: true,
 
icon: false
 
}
 
});
 
} else {
 
wx.showToast({
 
title: Service.CodeCallback(res.statusCode),
 
icon: 'none'
 
})
 
}
 
},
 
fail: function (err){
 
wx.showToast({
 
title: "加载失败",
 
icon: 'none'
 
})
 
},
 
complete: function (con) {
 
wx.stopPullDownRefresh();
 
}
 
})
 
},
 
// 影片星星
 
FilmStars: function(subjects){
 
var that = this;
 
var images = that.data.FilmStars;
 
for(var i=0; i<subjects.length; i++){
 
images[i] = util.fiveStar_rating(subjects[i].rating.max,subjects[i].rating.min,subjects[i].rating.average)
 
}
 
that.setData({
 
FilmStars: images
 
});
 
}
 
 
 
})



最后一次编辑于  2018-06-08
回答关注问题邀请回答
收藏

4 个回答

登录 后发表内容