zoukankan      html  css  js  c++  java
  • vue-router路由传参的两种方式

    一、params和query理解

    params方法传参的时候,要在路由后面加参数名占位;并且传参的时候,参数名要跟路由后面设置的参数名对应。
    /user/:uname    这个路由匹配/user/wade, /user/james  这里的 uname 叫 params

    query方法,就没有这种限制,直接在跳转里面用就可以。
    /user?uname=wade  /user?uname=james  这里的 uname 叫 query

    二、query的用法

    路由配置:
    // 使用params传参,路由配置的时候 path 要带上参数
    {
       path: '/user/:uname',
       name: "users",
       component: User    //这个 User 是组件名称
    }
    
    跳转方式:
    // 方法1:
    <router-link :to="{ name: 'users', params: { uname: wade }}">按钮</router-link>
    // 方法2:
    this.$router.push({name:'users',params:{uname:wade}})
    // 方法3:
    this.$router.push('/user/' + wade)
    页面url显示
    params在浏览器地址栏中不显示参数名称
    http://localhost:8080/user/wade

    获取参数方式:
    this.$route.params.uname

    三、params的用法

    路由配置
    //使用 query 传参  这里不需要参入参数,参见上面的params写法
    {
       path: '/user',   
       name: "users",
       component: User    //这个 users 是传进来的组件名称
    }
    
    跳转方式:
    // 方法1:
    <router-link :to="{ name: 'users', query: { uname: james }}">按钮</router-link>
    // 方法2:
    this.$router.push({ name: 'users', query:{ uname:james }})
    // 方法3:
    <router-link :to="{ path: '/user', query: { uname:james }}">按钮</router-link>
    // 方法4:
    this.$router.push({ path: '/user', query:{ uname:james }})
    // 方法5:
    this.$router.push('/user?uname=' + jsmes)
    
    页面url显示:
    query在浏览器地址栏中显示参数名称
    http://localhost:8080/user?uname=james
    获取参数方式: 
    this.$route.query.uname
  • 相关阅读:
    java总结1
    immutable
    iconfont
    实战build-react(三)+ style-components
    PHP判断字符串的包含
    win7 64位操作系统中 Oracle 11g 安装教程(图解)
    我在博客园写博客的原因
    面向对象程序设计-C++_课时17函数重载和默认参数
    面向对象程序设计-C++_课时16子类父类关系
    面向对象程序设计-C++_课时14对象组合_课时15继承
  • 原文地址:https://www.cnblogs.com/ssjd/p/14505513.html
Copyright © 2011-2022 走看看