router.push()路由切换-前端-E先生的博客
Java
MySQL
大数据
Python
前端
黑科技
大语言模型
    首页 >> 互联网 >> 前端

router.push()路由切换

[导读]:router.push()路由切换...

1、路由的两种常见方式

1)声明式:

<router-link to="/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 = new VueRouter({

  [{ 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传参的参数不会展示到地址栏(刷新后参数失效)。


image.png


本文来自E先生的博客,如若转载,请注明出处:https://www.javajz.cn

留言区

联系人:
手   机:
内   容:
验证码:

历史留言

欢迎加Easy的QQ