在页面跳转中,我通过路由传参,结果发现页面参数丢失了。路径返回了根目录。。。。

1. 先说下路由传参的几种方式吧?

比如:<div v-for="item in items" @click="get(item.id)">

传参方式1:

         1) get:function(id){
this.$router.push({
path: `/describe/${id}`,
})
} 2) 相应路由配置:{
path: '/describe/:id',
name: 'Describe',
component: Describe
} 3) 子组件取 this.$route.params.id ;

传参方式2:

          1)父组件通过name来匹配
this.$router.push({
name: 'Describe',
params: {
id: id
}
}) 2)相应路由配置:
{
path: '/describe/:id',
name: 'Describe',
component: Describe
}
3)子组件是通过:
this.$route.params.id

注意:此方式2有一个小坑,以前用params 时感觉很方便,就用了方式2。

      坑一:子组件第一次没有获取到值,原来我是用path路径,而没有用name。我把它改掉了。
坑二:改掉后发现刷新参数不见了。。。。。。。。。。。根据网上大神的建议,再路由配置中加了path: '/describe/:id', 相当于混合了第一种方式; 但是。。。。。。。。
坑三:由于根路径是登陆页,每次返回,并不是返回上一页,而是直接返回了根路径登陆页(我在路由配置中加了好多参数,导致describe丢失),这就有点烦了,本来你把主页设为 /也可以,但是并不是我一开始想要的结果, 哈哈。。。方案三解决了上述所有的问题;

传参方式3:

     父组件:this.$router.push({
path: '/describe',
query: {
id: id
}
}) 路由设置:
{
path: '/describe',
name: 'Describe',
component: Describe
} 子组件获取: this. $route.query.id

注意所有的子组件获取是$route,而不是$router ,哈哈,很开心完美解决了路由传参

vue 路由传参中刷新页面参数丢失 及传参的几种方式?的更多相关文章

  1. vue-router 路由传参的几种方式,刷新页面参数丢失

    常见场景:点击列表详情,跳转到详情内页,传递id参数获取详情数据. 我们先来看看路由跳转的几种方式: 1.通过params方式传参 通过$route.push的path携带参数方式 // 路由配置 { ...

  2. mixin 在传参中可以出现 参数 在类内部可以定义 作用域

    mixin 在传参中可以出现 参数  在类内部可以定义

  3. Vue build打包之后,刷新页面出现404解决方案

    Vue build打包之后,刷新页面出现404,HTML5 History 模式 原因分析: vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于 ...

  4. 【整理】iview中刷新页面的时候更新导航菜单的active-name

    iview中刷新页面的时候更新导航菜单的active-name https://blog.csdn.net/lhjuejiang/article/details/83212070

  5. Struts2中Action接收参数的方法主要有以下三种:

    Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数(最原始的方式):     a.定义:在Action类中定义属性,创建get和set方法:     b.接 ...

  6. PHP 使用数字作为SESSION的Key,一刷新页面session丢失,Session消失,无法存储

    PHP 使用数字作为SESSION的Key,一刷新页面session丢失,Session消失,无法存储 项目中有用到md5截取做session key值的,有些md5截取出来的部分是纯数字的,导致部分 ...

  7. Android中WebView的JavaScript代码和本地代码交互的三种方式

    一.Android中WebView的漏洞分析最近在开发过程中遇到一个问题,就是WebView使用的时候,还是需要解决之前系统(4.2之前)导致的一个漏洞,虽然现在这个系统版本用户很少了,但是也不能忽视 ...

  8. 在单文件组件中,引入安装模块里的css的2种方式:script中引入、style中引入

    在单文件组件中,引入安装模块里的css的2种方式:script中引入.style中引入 1.script中引入 <script> import 'bulma/css/bulma.css' ...

  9. Android自动化测试中AccessibilityService获取控件信息(2)-三种方式对比

    Android自动化测试中AccessibilityService获取控件信息(2)-三种方式对比   上一篇文章: Android自动化测试中AccessibilityService获取控件信息(1 ...

随机推荐

  1. Spring Cloud Eureka自我保护机制

    自我保护背景 首先对Eureka注册中心需要了解的是Eureka各个节点都是平等的,没有ZK中角色的概念, 即使N-1个节点挂掉也不会影响其他节点的正常运行. 默认情况下,如果Eureka Serve ...

  2. leetcode.矩阵.73矩阵置零-Java

    1. 具体题目 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0.请使用原地算法. 示例 1: 输入: 输出:[ [  [1,1,1],  [1,0,1],  [ ...

  3. python-模块 time, os, sys

    时间模块 和时间有关系的我们就要用到时间模块.在使用模块之前,应该首先导入这个模块. #常用方法 1.time.sleep(secs) (线程)推迟指定的时间运行.单位为秒. 2.time.time( ...

  4. 线性方程组迭代算法——Gauss-Seidel迭代算法的python实现

    原理: 请看本人博客:线性方程组的迭代求解算法——原理 代码: import numpy as np max=100#迭代次数上限 Delta=0.01 m=2#阶数:矩阵为2阶 n=3#维数:3X3 ...

  5. 12-vim-撤销和删除命令-02-删除文本

    删除文本 命令 英文 功能 x cut 删除光标所在字符 d(移动命令) delete 删除移动命令对应的内容 dd delete 删除光标所在行 D delete 从光标位置删除至行尾 注: 如果使 ...

  6. HTTP、HTTP1.0、HTTP1.1、HTTP2.0、HTTPS

      一.HTTP HTTP(超文本传输协议,HyperText Transfer Protocol)是应用层的协议,目前在互联网中应用广泛. 它被设计用于Web浏览器和Web服务器之间的通信,但它也可 ...

  7. JavaScript_DOM详解

    节点操作: 查看对象属性的值obj.getAttribute() 如: //获取图片 var imgs = document.getElementsByTagName("img") ...

  8. 删除Excel空列

    /// <summary> /// 删除Excel空列 /// </summary> /// <param name="excelPath">E ...

  9. css3布局篇(双飞翼)

    大家看到好多电商网站都见过经典三列布局,它也叫做圣杯布局 ,是Kevin Cornell在2006年提出的一个布局模型概念,这个在国内最早是由淘宝UED的工程师传播开来,在中国也有叫法是双飞翼布局,它 ...

  10. BZOJ 1927: [Sdoi2010]星际竞速(费用流)

    传送门 解题思路 仿照最小路径覆盖问题,用费用流解决此题.最小路径覆盖问题是拆点连边后用\(n-\)最大匹配,这里的话也是将每个点拆点,源点向入点连流量为\(1\),费用为\(0\)的边,向出点连流量 ...