Vue中$router.push()路由切换及如何传参和获取参数
作者:你知不知
这篇文章主要给大家介绍了关于Vue中$router.push()路由切换及如何传参和获取参数的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用vue具有一定的参考学习价值,需要的朋友可以参考下
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({<!--{C}%3C!%2D%2D%20%2D%2D%3E-->path:"/login",query:{<!--{C}%3C!%2D%2D%20%2D%2D%3E-->message:"页面跳转成功"}})新页面/路由中 获取参数
console.log(this.$route.query.message);
2)params方式
this.$router.push({<!--{C}%3C!%2D%2D%20%2D%2D%3E-->name:"loginPage",params:{<!--{C}%3C!%2D%2D%20%2D%2D%3E-->message:"页面跳转成功"}})新页面/路由中 获取参数
console.log(this.$route.params.message);
注意:
this.$router.push()方法中path不能和params一起使用,否则params将无效。需要用name来指定页面及通过路由配置的name属性访问
两种方式的区别是:
- query传参的参数会带在url后边展示在地址栏,
 - params传参的参数不会展示到地址栏(刷新后参数失效)。
 
总结
到此这篇关于Vue中$router.push()路由切换及如何传参和获取参数的文章就介绍到这了,更多相关Vue $router.push()路由切换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
