为了账号安全,请及时绑定邮箱和手机立即绑定

vuex传值问题

vuex传值问题

波斯汪 2018-09-02 07:54:52
练习使用简单的vuex来传值store.js:const store = new Vuex.Store({   // 定义状态  state: {     headImg: ""   },   mutations:{     newImg(state,msg){      state.headImg=msg;     }   } })传值:this.$store.commit("newImg",val.HeadImgUrl);接收:<template>   <div>     <img :src="msg" alt="">   </div> </template> <script>   export default {       name: 'detail',     data () {           return {                msg: ''       }     },     created(){           this.msg=this.imgSrc;     },         computed: {       imgSrc () {               return this.$store.state.headImg; //vuex接受值       }     }</script>问题是在刷新的时候这个值就没了,怎么让它在刷新完页面后还存在这个值呢?(刚学vue没多久,还请指点)
查看完整描述

2 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

this.$store.commit("newImg",val.HeadImgUrl);这个方法写到

created(){
  this.$store.commit("newImg",val.HeadImgUrl);  
  this.msg=this.imgSrc;
},


查看完整回答
反对 回复 2018-09-09
?
萧十郎

TA贡献1815条经验 获得超12个赞

store内的状态刷新后会重新初始化,可以通过本地存储解决

const store = new Vuex.Store({

  // 定义状态

  state: {

    headImg: JSON.parse(sessionStorage.getItem('headImg')) || ""

  },

  mutations:{

    newImg(state,msg){

      sessionStorage.setItem('headImg', JSON.stringify(msg))

      state.headImg=msg;

    }

  }

})


查看完整回答
反对 回复 2018-09-09
  • 2 回答
  • 0 关注
  • 1238 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信