我想知道,怎么实现页面加载的时候,数据和页面一起加载出来?我的做法
是这样的
onLoad: function (options) {
var that=this;
var themeId = options.themeno;
//console.log(themeId);
that.setData({
themeId: themeId
})
wx.showLoading({
title: '玩命加载中'
})
var mainIP = getApp().globalData.mainIP;
wx.request({
url: mainIP+'mollymall/theme/detail?themeno=' + themeId, //这里填写你的接口路径
method: "post",
header: { //这里写你借口返回的数据是什么类型,这里就体现了微信小程序的强大,直接给你解析数据,再也不用去寻找各种方法去解析json,xml等数据了
'Content-Type': 'application/json'
},
success: function (res) {
//这里就是请求成功后,进行一些函数操作
//console.log(res.data.data.goods)
that.setData({
themeData: res.data.data.theme,
goods: res.data.data.goods,
imgsData: res.data.data.imgs
});
},
fail: function (res) {
//这里是请求失败的一些参数,进行操作的数据
}
})
wx.hideLoading();
},
在请求数据渲染前先添加一个加载动画,然后请求结束之后再把加载动画取消,但是这样做的话,效果并不是很好,
请求大神的指教,应该怎么实现?
微信小程序开发问题解答
微信小程序开发者回答:
我也是和你一样的办法,写一个加载动画模板,初始化就显示,在请求到数据之后再取消动画
微信小程序开发者回答:
但是这样的效果不好,在苹果手机第一进我的微信小程序的时候,还是会先加载xml,css,最后才加载数据层,你有什么解决方法吗?
微信小程序开发者回答:
除非你是静态资源,不然网络请求加载总要时间的。在网络请求这几秒中是没有数据的。或许你可以在data里放一些假数据,然后等网络请求完之后特换掉这些假数据
微信小程序开发者回答:
我用的方法就是一进微信小程序 就显示加载动画页面,等请求到数据页面发生变化后才隐藏加载动画页面。
微信小程序开发者回答:
那要是从另一个页面进到别的页面的时候呢?还是存在先加载样式的 啊,可以方面加个扣扣嘛?
微信小程序开发者回答:
你把加载样式写一个组件,在每个页面引用就行了。都和首页是一样的操作。。这个很简单的。。试试手就ok了。。
微信小程序开发者回答:
好的,那么这个加载动画需要给它设置duration一段时间?
微信小程序开发者回答:
你在动画一直进行了,你用wx:if 控制组件的显隐,初始化为true,网络请求结束后改为false
本文网址:http://www.91bianli.com/weixinxiaochengxu/51027.html