路由导航及传参方式

一、两种导航方式

①:声明式导航
<router-link :to="...">
②:编程式导航
router.push(...)

二、编程式导航参数有两种类型

①:字符串
// 字符串
router.push('home')
②:对象
// 对象
router.push({ path: 'home' })

三、编程式导航的params传参和query传参

①:params传参(有地址栏中显示参数和不显示参数两种)
//浏览器地址栏中显示参数和不显示参数两种情况主要就是看路由配置

//显示参数的配置
{
name: "user",
path: "/user:userId",
component: Detail
}
// 命名的路由
// params相当与发送了一次post请求,请求参数会显示在浏览器地址栏中,并且刷新页面之后参数不会消失
router.push({ name: 'user', params: { userId: '123' }}) //不显示参数的配置
{
name: "user",
path: "/user",
component: Detail
}
// 命名的路由
// params相当与发送了一次post请求,请求参数不会显示在浏览器地址栏中,并且刷新页面之后参数会消失
router.push({ name: 'user', params: { userId: '123' }}) //统一接收参数方式
this.$route.params.userId
②:query传参
// 带查询参数,变成 /register?plan=private
// query相当与发送了一次get请求,请求参数会显示在浏览器地址栏中
router.push({ path: 'register', query: { plan: 'private' }}) //接收参数方式
this.$route.query.plan
③:特别注意
const userId = '123'
router.push({ name: 'user', params: { userId }}) // -> /user/123
router.push({ path: `/user/${userId}` }) // -> /user/123
// 这里的 params 不生效!!
router.push({ path: '/user', params: { userId }}) // -> /user

四、声明式导航的params传参和query传参

规则与编程式导航相同,只是写法不同,简单介绍

//params传参
<router-link :to="{ name: 'user', params: { userId: '123' }}">click to news page</router-link>
//接收参数方式
this.$route.params.userId //query传参
<router-link :to="{ path: 'register', query: { plan: 'private' }}">click to news page</router-link>
//接收参数方式
this.$route.query.plan

Vue Router路由导航及传参方式的更多相关文章

  1. Vue之路由跳转 传参 aixos 和cookie

    一.路由跳转 1.1 项目的初始化 vue create m-proj   >>>创建vue项目 精简vue项目的 views 视图   About(基本是删除的) Home.(可以 ...

  2. vue 利用路由跨页传参

    第一页,点击进入第二页进行传值: <template> <div id="app"> <div><router-link to=" ...

  3. vue具体页面跳转传参方式

    1.写数据,可以使用“.”,”[]”,以及setItems(key,value);3种方式. 例如: localStorage.name = proe;//设置name为" proe &qu ...

  4. 每日技术总结:vue router传参方式,js获取设备高度

    今天貌似没什么问题,23333…… 1.vue router 路由传参的方式 应用情景:从分类页(category.vue)进入商品列表页(list.vue),需要传递商品分类id(catId),商品 ...

  5. $router和$route的区别,路由跳转方式name 、 path 和传参方式params 、query的区别

    一.$router和$route的区别 $router : 是路由操作对象,只写对象$route : 路由信息对象,只读对象 例子://$router操作 路由跳转 this.$router.push ...

  6. vue路由(一个包含重定向、嵌套路由、懒加载的main.js如下)and 路由跳转传参的query和params的异同

    import Vue from 'vue'import VueRouter from 'vue-router'import App from './App'Vue.use(VueRouter)cons ...

  7. vue传参方式

    //query传参,使用name跳转   this.$router.push({       name:'second',       query: {         queryId:'201808 ...

  8. vue param和query两种传参方式

    1.传参方式 query传参方式 this.$router.push({ path: "/home", query: {code:"123"} }) param ...

  9. 前端MVC Vue2学习总结(八)——Vue Router路由、Vuex状态管理、Element-UI

    一.Vue Router路由 二.Vuex状态管理 三.Element-UI Element-UI是饿了么前端团队推出的一款基于Vue.js 2.0 的桌面端UI框架,手机端有对应框架是 Mint U ...

随机推荐

  1. eladmin-plus V2.0.0 发布,单表链式调用更丝滑

    一.项目简介 eladmin的mybatis-plus版本,单表使用链式调用,代码更简洁,调用更便捷.目前更新到2021年7月.项目基于 Spring Boot 2.4.2 . Mybatis-plu ...

  2. Centos忘记密码怎么修改

    使用Centos系统忘记密码 在我们日常使用Centos系统时,有些人不免会出现一个共同的问题:忘记登录密码! 我们总不能再重装一遍吧! 接下来我们就分两种情况来看看: Centos系统在云服务器 C ...

  3. PHP-Audit-Labs-Day1 - in_array函数缺陷

    函数缺陷原理分析 先看一段简单的源代码 class Challenge{ const UPLOAD_DIRECTORY = './solutions/'; private $file; private ...

  4. maven的setting配置远程仓库

    maven的setting,配置远程库. <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mi ...

  5. awk-03-操作符

    操作符 在awk中,有3种情况表达式为假: 1.数字是0 2.空字符串 3.未定义的值 数值运算,未定义变量初始值为0 字符运算,未定义变量初始值为空 示例 1.截取整数( + - ) 2.感叹号 读 ...

  6. moco模拟接口具体操作

    1.get请求 [ { "description": "模拟一个没有参数的get请求", "request": { "uri&qu ...

  7. Git(7)-- 查看提交历史(git log 命令详解)

    @ 目录 1.git clone 2.git log 3.git log -p 4.git log --stat 5.git log --pretty=oneline 6.git log --pret ...

  8. C#/VB.NET 将PDF转为OFD

    OFD,全称Open Fixed-layout Document ,是一种可存储.读取以及编辑的国家标准版式的电子文档格式,属于中国的一种自主文件格式,在安全性上有可靠保证.为突破国外技术在我们软硬件 ...

  9. SQL 练习18

    按各科成绩进行排序,并显示排名, Score 重复时保留名次空缺 SELECT t.cid,t.sid,t.score ,COUNT(t1.score)+1 as 排名 from sc as t LE ...

  10. docker安装完权限问题

    在用户权限下docker 命令需要 sudo 否则出现以下问题 通过将用户添加到docker用户组可以将sudo去掉,命令如下 sudo groupadd docker #添加docker用户组 su ...