0


Vue中$router.push()路由切换、如何传参和获取参数

1、路由的两种常见方式

1)声明式:

<router-linkto="/login"><router-link:to="{ path: '/login' }">Home</router-link><router-link:to="{ name: 'loginPage'}">User</router-link>

2)编程式:

$router.push(...)

该方法的参数可以是一个字符串路径,或者一个描述地址的对象。

// 假如现有的路由是(router.js中的登录)import LoginPage from"@/views/Login.vue";const router =newVueRouter({[{path:"/login",name:"loginPage",component: LoginPage }]});// 字符串(对应填写上面的path)this.$router.push('/login')// 对象this.$router.push({path:'/login'});// 通过路由的 name(对应的就是上面的name)this.$router.push({name:'loginPage'})

2、传参和获取参数(query和params)

1)query方式

this.$router.push({path:"/login",query:{message:"页面跳转成功"}})

新页面/路由中 获取参数

console.log(this.$route.query.message);

2)params方式

this.$router.push({name:"loginPage",params:{message:"页面跳转成功"}})

新页面/路由中 获取参数

console.log(this.$route.params.message);

注意:

this.$router.push()

方法中

path

不能和

params

一起使用,否则

params

将无效。需要用

name

来指定页面及通过路由配置的

name

属性访问

两种方式的区别是:

  • query传参的参数会带在url后边展示在地址栏,
  • params传参的参数不会展示到地址栏(刷新后参数失效)。

本文转载自: https://blog.csdn.net/qq_42899245/article/details/120080736
版权归原作者 你知不知 所有, 如有侵权,请联系我们删除。

“Vue中$router.push()路由切换、如何传参和获取参数”的评论:

还没有评论