我想知道,怎么实现页面加载的时候,数据和页面一起加载出来?我的做法
是这样的
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了。。
在路径后面直接类似这样的“www.baidu.com?id=2”
问一下大佬的url参数怎样传递的?比较疑惑