美文网首页
vue param与query传参刷新数据消失处理

vue param与query传参刷新数据消失处理

作者: 于美美 | 来源:发表于2020-03-01 08:22 被阅读0次
1.params与query的区别:query传的值显示在地址栏里,无论路由那边设不设置
2.params传数据:
this.$router.push({name: 'oldDetail', params: {id: ids}})

目标页面接收params数据:

this.id = this.$route.params.id

路由:

{
  path: '/data-manage',
  name: 'argu',
  meta: {
    hideInMenu: true,
  },
  component: Main,
  children: [
    {
      path: 'infoData/:text/:id',
      name: 'oldDetail',
      meta: {
        title: route => `${route.params.text}`,
        notCache: true
      },
      component: () => import('@/view/argu-page/query.vue')
    }
  ]
}

3.query传数据:

this.$router.push({name: 'oldDetail', query: {id: ids}})

目标页面接收query数据:

this.id = this.$route.query.id

注意:无论是vuex params query传值的时候,只要页面一刷新,传过来的数据都会丢失,prams与query可以将传递过来的值放到url(就是传过来的值必须在地址栏以参数的形式显示)
比如:

path: 'infoData/:text/:id’,

这样才能保证页面刷新传过来的值一直存在。这种传值只适合string number这种简单的值,毕竟在地址栏显示的内容太多不太好。如果传递过来的是一个对象,我暂时采用的方式是放在sessionStorage保存。
比如:

if(this.$route.params.content){
  editor.txt.html(this.$route.params.content)
  sessionStorage.setItem('content',this.$route.params.content)
}else{
  editor.txt.html(sessionStorage.getItem('content'))
}

相关文章

网友评论

      本文标题:vue param与query传参刷新数据消失处理

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