sessionStorage 实现页面/组件之间的数据传输

//articleComp.vue
sessionStorage.authorName=this.article.author.loginname;//保存作者名,在sideSec.vue中使用
//sideSec.vue
var authorName = sessionStorage.getItem("authorName");
this.$http({
          url: `https://cnodejs.org/api/v1/user/${authorName}`,
          method: 'get',
        }).......

但是会有个问题,组件sideSec.vue可能会比articleComp.vue先加载。导致两个组件中作者信息不一样。可用setTimeout()延迟加载。vuex应该可以解决,但是我还没用过vuex,暂时先这样处理。

      setTimeout(()=>{//延迟加载,权宜之计。在sessionStorage更新之后再读取。
        var authorName = sessionStorage.getItem("authorName");
        //      console.log(authorName)
        this.$http({
          url: `https://cnodejs.org/api/v1/user/${authorName}`,
          method: 'get',
        }).then((res) => {
          this.userInfo = res.data.data;
        }).catch((res) => {
          console.log('user info: ', res);
        });
      },300)

但还有另一个问题。由于router-view是复用的,两个页面中有相同的组件时,该组件不会刷新。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 连续写了几天的千字作业之后呢,我发现我懈怠下来了,很难再保持之前的量。 一方面有心里的疲惫因素,一方面也是感觉到这...
    聆歌阅读 3,003评论 7 2
  • 走在街上 人们来来往往匆匆忙忙 不管是迎面而来还是擦肩而过 都会让我感到恐慌 对大家的疏离 也对大家突如其然的注视...
    wdaowy阅读 5,627评论 0 1
  • 塔罗个案004:事业个案 1、议题现状:国王 案主:眼睛是斜的,感觉在看旁边的一个人(皇妃)。不喜欢,看了难受。不...
    小小笨鸟可爱多阅读 2,338评论 0 1
  • 明知道我们已经一辈子不会再见面了,可还是会做一些与他见面时的梦,梦醒来后的孤独感有谁能懂。(ps:我喜欢这种无所顾...
    57f58d8ea682阅读 942评论 0 0
  • 我从未亲眼目睹你的美,但你山色的每一次变化,都被身处异乡的我丝毫不差地收揽进心底。 离你数千公里远,每次得知你的消...
    吃火锅吗阅读 2,795评论 0 0