美文网首页
vuex中query与params传参的区别

vuex中query与params传参的区别

作者: yunshengz | 来源:发表于2019-11-27 11:01 被阅读0次

    1.传参时params要与name配合使用,query这没有这种要求

    // 路由
    const router = new VueRouter({
      routes: [{
        path: '/sign',
        name: 'sign',
        component: Sign
      }]
    });
    
    // params传参
    this.$router.push({
        name: 'sign',
        params: {
            last: 'info'
        }
    });
    // 地址栏展示为:127.0.0.1/sign
    // 获取last值:this.$route.params.last
    
    // query传参
    this.$router.push({
        path: '/sign', // 或name: 'sign'
        query: {
            last: 'info'
        }
    });
    // 地址栏展示为:127.0.0.1/sign?last=info
    // 获取last值:this.$route.query.last
    
    

    2.路由组件中path路径中加参数,加的方式不同,参数获取方式也不同

    const router = new VueRouter({
      routes: [{
        path: '/sign/:last',
        component: Sign
      }]
    });
    // 如果url为127.0.0.1/sign/info;
    // 则有: const {last} = this.$route.params;
    //last=info
    
    const router = new VueRouter({
      routes: [{
        path: '/sign/?last=ifno',
        component: Sign
      }]
    });
    // 有: const {last} = this.$route.query;
    //last=info
    

    3.当url刷新时表现也不同

    当编程式导航传参时,用params时,刷新页面时params带的数据会丢失;而query则不会。

    相关文章

      网友评论

          本文标题:vuex中query与params传参的区别

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