收藏
回答

页面无法更新请求数据

问题模块 框架类型 问题类型 操作系统 工具版本
开发者工具 小程序 Bug Windows 2.4.2

- 当前 Bug 的表现(可附上截图)

建立一个根据响应数据渲染的页面,第一次加载后,以其他响应数据进入该页面时,依旧以第一次进入该页面的数据进行渲染

- 预期表现

应该更换新的数据进行渲染

- 复现路径

在wx.setstoragesync 中声明一个变量,进入一个页面get该变量进行渲染,然后退出该页面并改变该变量的值,然后在重新进入页面,该页面会依旧以第一次get出来的变量值进行渲染

- 提供一个最简复现 Demo


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

2 个回答

  • 社区技术运营专员-小柿子
    社区技术运营专员-小柿子
    2018-12-13

    提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2018-12-13
    赞同
    回复 1
    • 江南
      江南
      2018-12-13

      刚才通过好多方法试了一下,之前我一直都是(之前我一直这么用也好使)

      Page({
       
        /**
         * 页面的初始数据
         */
        data: {
          head: wx.getStorageSync('paylistinfo').map3 ,
          list:wx.getStorageSync('paylistinfo').list,
          name:wx.getStorageSync('name'),
          code:wx.getStorageSync('code'),
          paylistcode: wx.getStorageSync('paylistcode')
        },

      刚才我添加了下面的方法

      /**
        * 生命周期函数--监听页面加载
        */
       onLoad: function (options) {
         this.setData({
           head: wx.getStorageSync('paylistinfo').map3,
           list: wx.getStorageSync('paylistinfo').list,
           name: wx.getStorageSync('name'),
           code: wx.getStorageSync('code'),
           paylistcode: wx.getStorageSync('paylistcode')
         })
       },

      目前正常了

      2018-12-13
      回复
  • 韬々
    韬々
    2018-12-13

    可以这样理解:在小程序代码开始执行的时候,每个页面的Page对象就已经创建好了。因此你之后更改了缓存里面的数据,对这些Page对象也没影响。

    2018-12-13
    赞同
    回复 1
    • 江南
      江南
      2018-12-13

      恩呢,只能这样理解了。。。

      2018-12-13
      回复