使用this.$router实现组件之间带参数跳转

130 阅读1分钟

传值

this.$router.push({ path: "跳转路径", query: { 接收标识: 值 }, });

自行替换项目中相对应的跳转路径与接收标识和数据。

接收

在接收组件内使用

this.$route.query.接收标识

进行数据的接收, 注意!是使用 $route来接收

一般我会在created生命周期时就获取数据并保存下来,但是如果并没有值传递过来会在控制台报错,所以我加了条件判断语句来判断是否有数据传来:

  if (
    typeof this.$route.query.msg == "string" ||
    this.$route.query.msg == undefined
  ) {
    return;
  } else {
    console.log(this.$route.query.msg)
  }

方法内的path也可以是name。(所以遇到不同写法也不必惊慌)

$router是VueRouter的实例方法,是router构造方法的实例,全局方法。

$router有三个方法分别是

  1. push
  2. go
  3. replace

push方法的跳转会向 history 栈添加一个新的记录,当我们点击浏览器左上角的返回箭头按钮时可以回到之前的页面。

go方法可以使页面路由前进或者后退(并没有在实际开发中使用过) replace方法一般来做404页面,毕竟他的作用是用来替代当前页面

$route是当前路由的方法

获取任何当前url内数据的方法都在$route内并且所有组件内都拥有$route