美文网首页
keepalive页面的情况下,更新编辑过的单条列表信息

keepalive页面的情况下,更新编辑过的单条列表信息

作者: locky丶 | 来源:发表于2019-12-13 14:08 被阅读0次

我们为了减少服务器请求和页面等待时间,会keep列表页面,从列表编辑页面返回列表页时,列表页是缓存住的。
但是这样对用户不友好,我们希望在缓存住内容的同时,把编辑过的那条item给更新下,其他的还是不动。
着么实现呢?方法如下:

activated(){
  // 编辑过的item内容通过vuex传递过来
  let newItem = this.$store.editItem
  if (newItem) {
    this.pageListData.forEach ((item, index) => {
      if (item.id === newItem.id) {
        let tempItem = Object.assign(item, newItem)
        this.$set(this.pageListData, index, tempItem)
      }
    })
  }
}

以上代码写在列表页上,然后在编辑页将你要修改的item的数据通过vuex传递过来就能实现上述需求了。
这里用到的这个activated()是vue的生命周期钩子,它不同于created(),每次进入页面都会执行一次。
还有一个生命周期钩子,deactivated(),每次离开页面的时候都会执行一次,暂时还没用过,有用过的朋友可以给我留言,分享下经验。

相关文章

网友评论

      本文标题:keepalive页面的情况下,更新编辑过的单条列表信息

      本文链接:https://www.haomeiwen.com/subject/eeefnctx.html