收藏
回答

额, 可以问非小程序的前端问题吗?

用的是layui,里面方法渲染table列表,第一次是没问题的,但是点击添加到另一个页面新增数据后返回,ajax数据请求了,回调函数也执行了,但是列表没有更新,必须刷新才可以。(试了很多次,都没有反应)
然后我点F12,点击添加去添加后返回,数据是更新了的,请问这个是缓存的原因吗?


注:反正就是不点F12开控制台,不刷新是不会重新渲染数据的。点开F12就可以

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

2 个回答

  • 涛々
    涛々
    2019-01-24

    你要不问个你生活上的问题? 哈哈哈

    2019-01-24
    有用
    回复
  • 飘落的叶
    飘落的叶
    2019-01-23

     一、ajax执行完毕了,页面还没有渲染完成,此时获取不到dom,添加肯定失败

    二、刷新的时候可以了,说明此时页面已经被缓存,可以获取到dom节点了,此时可以添加成功

    想要解决此问题应该从判断页面是否渲染完成来入手

    2019-01-23
    有用
    回复 7
    • 你好,初九。
      你好,初九。
      2019-01-23

      我可能说的有点歧义。

      这么说吧 ,刚开始或者刷新的时候,页面渲染了,数据也没有错。 我修改后返回,页面渲染了回调里面写的弹框都弹出来了但是数据没有更新,就像是缓存了之前是数据一样

      打开控制台就没有这种情况出现。

      2019-01-23
      回复
    • 飘落的叶
      飘落的叶
      2019-01-23回复你好,初九。

       

      看一下你返回时控制台的network有没有重新调一次接口

      在看一下你返回时table.render有没有执行


      2019-01-23
      回复
    • 你好,初九。
      你好,初九。
      2019-01-23回复飘落的叶

      就是table.render的回调done都执行了,返回的数据里面里面包含更新后的数据,只是没有渲染在页面上。发现没有渲染的时候在打开控制台可以看到返回的数据是对的,只是没重新渲染,用的是上一次的数据这样子。打开控制台操作就不会出现这个问题,好像打开控制台就可以更新缓存一样

      2019-01-23
      回复
    • 飘落的叶
      飘落的叶
      2019-01-23回复你好,初九。

      没用过layui,刚刚看了一下

      table.render是初始化表格,更新的话是不是要用其他的方法,你再次返回时调用table.render,原来的节点已经被占用了

      问题应该是缓存的原因

      2019-01-23
      回复
    • 你好,初九。
      你好,初九。
      2019-01-23回复飘落的叶

      对头 ,所以不知道怎么弄,这也是同事在问这个问题,然后就很蒙。

      2019-01-23
      回复
    查看更多(2)
登录 后发表内容