收藏
回答

微信小程序加载页面问题

我想知道,怎么实现页面加载的时候,数据和页面一起加载出来?我的做法

是这样的

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();


},

在请求数据渲染前先添加一个加载动画,然后请求结束之后再把加载动画取消,但是这样做的话,效果并不是很好,

请求大神的指教,应该怎么实现?

回答关注问题邀请回答
收藏

3 个回答

  • 喔喔哦
    喔喔哦
    2018-10-09

    我也是和你一样的办法,写一个加载动画模板,初始化就显示,在请求到数据之后再取消动画

    2018-10-09
    有用 1
    回复 8
    • chantell186
      chantell186
      2018-10-09

      但是这样的效果不好,在苹果手机第一进我的小程序的时候,还是会先加载xml,css,最后才加载数据层,你有什么解决方法吗?

      2018-10-09
      回复
    • 喔喔哦
      喔喔哦
      2018-10-10回复chantell186

      除非你是静态资源,不然网络请求加载总要时间的。在网络请求这几秒中是没有数据的。或许你可以在data里放一些假数据,然后等网络请求完之后特换掉这些假数据

      2018-10-10
      2
      回复
    • 喔喔哦
      喔喔哦
      2018-10-10回复喔喔哦

      我用的方法就是一进小程序 就显示加载动画页面,等请求到数据页面发生变化后才隐藏加载动画页面。

      2018-10-10
      2
      回复
    • chantell186
      chantell186
      2018-10-10回复喔喔哦

      那要是从另一个页面进到别的页面的时候呢?还是存在先加载样式的 啊,可以方面加个扣扣嘛?

      2018-10-10
      回复
    • 喔喔哦
      喔喔哦
      2018-10-10回复chantell186

      你把加载样式写一个组件,在每个页面引用就行了。都和首页是一样的操作。。这个很简单的。。试试手就ok了。。

      2018-10-10
      2
      回复
    查看更多(3)
  • chantell186
    chantell186
    2018-11-09

     

     在路径后面直接类似这样的“www.baidu.com?id=2”


    2018-11-09
    有用
    回复
  • mteaching
    mteaching
    2018-11-09

    问一下大佬的url参数怎样传递的?比较疑惑

    2018-11-09
    有用
    回复
登录 后发表内容