vue 列表页数据通过query 传送到详情页面,详情页面如果刷新的话就拿不到刚才的从列表页传过来的数据了

clipboard.png
item 就是当前数据 通过query 在详情页面拿到
详情页面

clipboard.png
然后在赋值给这个item

循环出来
clipboard.png

如果从列表页面走,就是正常的,刷新之后就展现不了数据了

阅读 8.1k
8 个回答

JSON.stringify() 转成字符串传过去刷新没事,用的时候 在转回来,别的方法 太麻烦了!不要谢我 我叫雷锋,

用vuex,数据放到store里但是需要缓存到sessionStorage中,如:
store.js中:

state: {
    userInfo: sessionStorage.getItem('xxx-info');
},
mutations: {
    setUserInfo(state, info) {
        state.userInfo=info;
        sessionStorage.setItem('xxx-info', info);
    }
}

进入详情页:

this.$store.commit('setUserInfo',info);

需要数据直接vuex中获取:

this.$store.state.userInfo;

item是什么,是对象吗?为什么把对象放在地址里传递?可以放在vuex里啊

你是根据路由传过来的参数,刷新相当于push当前路由是拿不到之前路由的数据了,你可以放在vuex里面或者使用缓存吧

为什么非得直接传数据呢?url中带个id参数,然后根据id再拉取数据

你这个 showBtn 是上个页面的请求跳转? 这样的话刷新当前页肯定没有那个http请求啊

方法:一、你可以把请求参数放到当前页url中,再在created周期中调用
     二、存入localstorage中,再取出来

用vuex刷新之后还是没有的, 我以前做过

如果通过 vue-router设置query不就是网页参数吗?刷新还会没有吗?
如果跨页传递数据,可以用vuex,刷新的话需要state的值用缓存

看了上面的几位老铁们的回答,答案就是要么后端增加接口,要么就存storage里面这样

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题