this.$router.push携带参数跳转页面的实现代码
前言
this.$router.push进行页面跳转时。携带参数有params和query两种方式。
一、params和query使用方式
query方式:
this. r o u t e r . p u s h ( p a t h : ′ t e s t Q u e r y ′ , q u e r y : t e s t Q u e r y : ′ t e s t Q u e r y ′ ) , 传 递 的 参 数 会 拼 接 在 跳 转 地 址 的 后 面 。 使 用 t h i s . router.push({path: 'testQuery',query: {testQuery:'testQuery'}}),传递的参数会拼接在跳转地址的后面。使用this. router.push(path:′testQuery′,query:testQuery:′testQuery′),传递的参数会拼接在跳转地址的后面。使用this.route.params.key取值
params方式:
this. r o u t e r . p u s h ( n a m e : ′ t e s t P a r a m s ′ , p a r a m s : t e s t P a r a m s : ′ t e s t P a r a m s ′ ) , 传 递 的 参 数 不 会 拼 接 在 跳 转 的 后 面 。 使 用 t h i s . router.push({name: 'testParams',params: {testParams:'testParams'}}),传递的参数不会拼接在跳转的后面。使用this. router.push(name:′testParams′,params:testParams:′testParams′),传递的参数不会拼接在跳转的后面。使用this.route.query.key取值
二、实现代码
1.index.js代码
const router = new Router({ routes: [ { path:'/test', component: test, }, { name: 'testParams', path:'/testParams', component: TestParams, }, { path:'/testQuery', component: TestQuery, } ] })
2.test.vue代码
<template> <div class="test"> <button v-on:click="testParams">params</button> <button v-on:click="testQuery">query</button> </div> </template> <script> export default { name: "test", data(){ return { } }, methods:{ testParams(){ this.$router.push({name: 'testParams',params: {testParams:'testParams'}}); }, testQuery(){ this.$router.push({path: 'testQuery',query: {testQuery:'testQuery'}}); } } } </script>
3.testParams代码
<template> <div id="testParams"> {{testParams}} </div> </template> <script> export default { name: "TestParams", data() { return{ testParams: '' } },mounted() { this.testParams = this.$route.params.testParams; } } </script>
4.testParams代码
<template> <div id="testQuery"> {{testQuery}} </div> </template> <script> export default { name: "TestQuery", data(){ return{ testQuery: '' } },mounted() { this.testQuery = this.$route.query.testQuery; } } </script>
5.效果
总结
两种方式非常相似,区别在于两点:
1、是否在地址后面拼接参数。
2、因为动态路由也是传递params的,所以在 this.$router.push() 方法中 path是不能和params一起使用的,否则params将无效。需要用name来指定页面,一定要记得,在index.js中设置好那么属性。
到此这篇关于this.$router.push携带参数跳转页面的文章就介绍到这了,更多相关this.$router.push跳转页面内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
vue+element ui表格添加多个搜索条件筛选功能(前端查询)
这篇文章主要给大家介绍了关于vue+element ui表格添加多个搜索条件筛选功能的相关资料,最近在使用element-ui的表格组件时,遇到了搜索框功能的实现问题,需要的朋友可以参考下2023-08-08详解使用Vue Router导航钩子与Vuex来实现后退状态保存
本篇文章主要介绍了详解使用Vue Router导航钩子与Vuex来实现后退状态保存,具有一定的参考价值,有兴趣的可以了解一下2017-09-09vue3+elementplus基于el-table-v2封装公用table组件详细代码
在日常开发后端管理系统项目中,用于展示数据多会用表格进行展示,下面这篇文章主要给大家介绍了关于vue3+elementplus基于el-table-v2封装公用table组件的相关资料,需要的朋友可以参考下2023-12-12
最新评论