美文网首页
query和params两种路由传参

query和params两种路由传参

作者: _仗剑走天涯 | 来源:发表于2019-06-12 15:40 被阅读0次
    说到传参首先得说路由
    定义路由

    路由表,配置的整个项目中可以访问的所有的路由信息
    建议每一个路由都加一个name属性,在页面跳转的时候使用
    建议name不能重复
    ex>

    const router=new VueRouter({
        routes:[
            {
              path: '/detail', // 表示路径,表示url地址栏中输入的内容
              component: Home, // 表示访问这个地址的时候显示哪一个组件
              name: 'H', // 名字
          }  
        ]
    
    })
    
    路由跳转
    1.router-link to属性设置跳转信息
    • to可以直接设置一个字符串,表示跳转的url地址
    • to可跟一个对象,建议使用此方法,跳转的时候使用name
    2.编程式跳转

    $router.push

    路由传参

    1.query 表示参数在url后面进行传递,参数直接拼在url地址栏的后面,用?分割一下,多个参数用&分割

    • 获取使用 $route.query

    2.params 表示在routes定义的时候可以使用 “:参数名”的形式进行占位处理

    • 可以传递多个参数 如果要保证页面刷新之后参数还可以使用,需要在routes中做配置
    • 获取使用 $route.params
    • (细节重点)如果想要在页面刷新或者执行其它操作之后还保留传递的参数,需要在路由表(routes)中作配置,使用 “:参数名”的形式进行占位处理
    补充
    当使用了vue-router组件之后
    项目中会自动生成两个变量 $route $router
    $route 表示当前页的路由信息 获取获取 地址 query params等参数
    $router 表示路由对象 可以在上面访问路由的跳转方法
    $route.params 获取params传的参数
    $route.query 获取query传的参数
    
    //  vue-router学习笔记  记录开发中的点点滴滴
     
    跳转路由的几种方式:
     
      1、声明式: 1) 根据路由路径(/home/sort/detail)跳转 <router-link :to="{path: '/home/sort/detail', query:{id: 'abc'}}">点击查看子页面</router-link>
                 2) 根据路由名称(detail)跳转 <router-link :to="{name: 'detail', params:{id: 'abc'}}">点击查看子页面</router-link>
                    :to=""  可以实现绑定动态的 路由 和 参数
     
      2、编程式: 1) this.$router.push({path: '/home/sort/detail',query:{id: 'abc'}})
                 2) this.$router.push({name: 'detail',params:{id: 'abc'}})
     
        备注: params 和 query 传参的区别:
                1、params传参时  参数不会出现在url的路径上面, 但是刷新页面时param里面的数据会消失
                2、query传参时   参数出现在url的路径上面, 刷新页面时query里面的数据不变
    

    相关文章

      网友评论

          本文标题:query和params两种路由传参

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