Vue this.$router.push(参数)实现页面跳转操作
很多情况下,我们在执行点击按钮跳转页面之前还会执行一系列方法,这时可以使用this.$router.push(location)来修改url,完成跳转。
push后面可以是对象,也可以是字符串:
//字符串 this.$router.push('/home/first') //对象 this.$router.push({path:'/home/first'}) //命名的路由 this.$router.push({name:'home',params:{userId:wise}})
跳转页面并传递参数的方法:
1.Params
由于动态路由也是传递params的,所以在this.$router.push()方法中path不能和params一起使用,否则params将无效。需要用name来指定页面。
及通过路由配置的name属性访问
在路由配置文件中定义参数:
/*router.js文件*/ importVuefrom"vue"; importRouterfrom"vue-router"; importMediaSecondfrom"@/views/EnterprisePage/MediaMatrix/second";//资讯列表 Vue.use(Router); exportdefaultnewRouter({ routes:[/*进行路由配置*/ { name:"MediaSecond", path:"/MediaSecond", component:MediaSecond }, ] }) /*后面还需要接一空行,否则无法通过ESlint语法验证*/
通过name获取页面,传递params:
this.$router.push({name:'MediaSecond',params:{artistName:artistName,imgUrl:imgUrl,type:2}})
在目标页面通过this.$route.params获取参数:
if(this.$route.params.type==2){ this.type=apis.getAtistDetails; }else{ this.type=apis.getMessageList; }
2.Query
页面通过path/name和query传递参数,该实例中row为某行表格数据
this.$router.push({name:'DetailManagement',query:{auditID:row.id,type:'2'}});
this.$router.push({path:'/DetailManagement',query:{auditID:row.id,type:'2'}});
在目标页面通过this.$route.query获取参数:
this.$route.query.type
补充知识:vuethis.$router.push('./map');无法跳转的问题
登录
router中是这样引入的
importmapfrom'@components/map'
点击事件无法跳转
2.解决方法:
改变引入方式
importmap=r=>require.ensure([],()=>(require('../components/map')),'map')
这样通过静态引入就没问题了!
以上这篇Vuethis.$router.push(参数)实现页面跳转操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。