params形式

http://192.168.1.100:8080/#/infoDetailed/231

 //定义路由
{
path: "/infoDetailed/:newsId",
name: "InfoDetailed",
component: () => import("@/views/info/InfoDetailed.vue")
}, //a组件传参
 handleEdit(index, row) {
  
      this.$router.push({ name: "InfoDetailed", params: { newsId: row.id } });
  },
 
//InfoDetailed.vue组件接收参数
 created() {
    this.newsId = this.$route.params.newsId;
 }
 

params传参配置props属性

在组件中使用 $route 会使之与其对应路由形成高度耦合,从而使组件只能在某些特定的 URL 上使用,限制了其灵活性。

使用 props 将组件和路由解耦:也就是说配置了props就不用使用this.$route.params.xxx了.直接挂载到组件的props属性上。方便其他使用

props搭配query传参不会生效。

 {
path: "/infoDetailed/:newsId",
name: "InfoDetailed",
component: () => import("@/views/info/InfoDetailed.vue"),
props: true
}, handleDetailEdit(index, row) {
let id = row.id;
this.$router.push({
name: "InfoDetailed",
params: { newsId: id }
});
},

//InfoDetailed.vue
props: {
newsId: {
type:String,
required:true
}
},

query传参

http://192.168.1.100:8080/#/infoDetailed?newsId=230

 {
path: "/infoDetailed",
name: "InfoDetailed",
component: () => import("@/views/info/InfoDetailed.vue")
} handleEdit(index, row) {
console.log(index, row);
this.$router.push({ name: "InfoDetailed", query: { newsId: row.id } });
}, //InfoDetailed.vue created() {
this.newsId = this.$route.query.newsId
}

params参数丢失问题

以name自定义属性举例子:

不要在params中随便加路由path中未定义的动态路由参数。

另外即使加了name属性,跳转到新的页面url地址http://192.168.1.100:8080/#/infoDetailed/231 也只会携带上newsId的参数信息,不会带上name的数据信息。

 handleEdit(index, row) {
console.log(index, row);
// params参数丢失问题:name在router.js路由path中并没有配置, path: "/infoDetailed/:newsId",
//自己强行加进去,跳转到新页面,第一次会存在,但是一旦刷新,name参数直接丢失。而newsId无此问题。
this.$router.push({ name: "InfoDetailed", params: { newsId: row.id,name:'zs' } });
},

18 vue 动态路由传参的更多相关文章

  1. vue中路由传参的方式

    一.params的类型: 配置路由格式: /router/:id 传递的方式: 在path后面跟上对应的值 传递后形成的路径: /router/123, /router/abc 通过:to字符串拼接的 ...

  2. vue里面路由传参的三种方式

    1.方式一 通过query的方式也就是?的方式路径会显示传递的参数 HTML的方式<router-link :to="{name:xxx,query:{page:1,code:8899 ...

  3. vue之路由传参三种基本方式

    现有如下场景,点击父组件的li元素跳转到子组件中,并携带参数,便于子组件获取数据. 父组件中: <li v-for="article in articles" @click= ...

  4. vue父子组件路由传参的方式

    一.get方式(url传参): 1.动态路由传参: 父组件: selectItem (item) { this.$router.push({ path: `/recommend/${item.id}` ...

  5. vue动态路由配置,vue路由传参

    动态路由: 当我们很多个页面或者组件都要被很多次重复利用的时候,我们的路由都指向同一个组件,这时候从不同组件进入一个"共用"的组件,并且还要传参数,渲染不同的数据 这就要用到动态路 ...

  6. webpack+vue 组件间传参(单一事件中心管理组件通信--$root),如果有路由的话会失效

    先给一个例子: <body> <div id="box"> <com-a></com-a> <com-b></co ...

  7. vue 路由传参

      mode:路由的形式 用的哪种路由 1.hash 路由 会带#号的哈希值 默认是hash路由   2.history路由 不会带#的     单页面开发首屏加载慢怎么解决?单页面开发首屏加载白屏怎 ...

  8. vue——动态路由以及地址传参

    动态路由: 当我们很多个页面或者组件都要被很多次重复利用的时候,我们的路由都指向同一个组件,这时候从不同组件进入一个”共用”的组件,并且还要传参数,渲染不同的数据 这就要用到动态路由跟路由传参了! 1 ...

  9. vue链接传参与路由传参

    1.链接传参: 例如:链接是:http://localhost:3333/#/index?id=001 我们要获取参数:console.log(this.$route.query.id):即可 2.路 ...

随机推荐

  1. Android Studio--家庭记账本(六)

    (Android studio家庭记账本源码已上传至github,https://github.com/xhj1074376195/CostBook_app) 今天记账本终于可以算是完成了,实现了账户 ...

  2. 打破你的认知!Java空指针居然还能这样玩,90%人不知道…

    相信在座的各位都遇到过空指针异常,不甚其烦,本文不是教你避免空指针,而是一些对空指针其他方面的理解. 本文可能有点另类,也可能会打破你对空指针的认知. 1.null.method() 空指针? 我们知 ...

  3. js 自定义属性操作

    自定义属性操作     element.属性 获取内置属性值     element.getAttribute("属性") 我们自己添加的属性叫自定义属性     element. ...

  4. BLE MESH 学习[1] - ESP32 篇

    BLE MESH 学习 BLE MESH 是一种蓝牙(n:m)组网的技术. 本篇先介绍 BLE MESH 到使用 ESP32 的官方示例对其进行学习讲解. 后面会进一步学习 SIG 的 BLE MES ...

  5. Qt 信号发射部分 undefined reference to错误

    在使用信号与槽很容易发生 undefined reference to 发射信号  ①继承QObject ②添加Q_OBJECT ③执行qmake ④构建 然后就可以运行啦!但是不知道是为什么,悄咪咪 ...

  6. github渗透测试工具库[转载]

    前言 今天看到一个博客里有这个置顶的工具清单,但是发现这些都是很早以前就有文章发出来的,我爬下来后一直放在txt里吃土.这里一起放出来. 漏洞练习平台 WebGoat漏洞练习平台:https://gi ...

  7. stat 命令家族(3)- 详解 mpstat

    性能测试必备的 Linux 命令系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1819490.html 介绍 输出 CPU 相关信息 m ...

  8. s2-001漏洞复现

    struts2-001 该漏洞因为用户提交表单数据并且验证失败时,后端会将用户之前提交的参数值使用 OGNL 表达式 %{value} 进行解析,然后重新填充到对应的表单数据中.例如注册或登录页面,提 ...

  9. 【FJOI2007】轮状病毒 - Matrix-Tree定理

    题目描述 轮状病毒有很多变种.许多轮状病毒都是由一个轮状基产生.一个n轮状基由圆环上n个不同的基原子和圆心的一个核原子构成.2个原子之间的边表示这2个原子之间的信息通道,如下图所示. n轮状病毒的产生 ...

  10. 第1章 Spark SQL概述

    第1章 Spark SQL概述 1.1 什么是Spark SQL Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作 ...