美文网首页
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