vue路由跳转的四种方式以及功能实现

vue跳转有总体分为带参跳转和不带参跳转; 带参又有路由显示和不显示的差别

1、router-link跳转

//不带参数跳转
 <router-link to="/register">
    <span>去这里注册</span>
 </router-link>
 
 //带参跳转 路由显示
 <router-link :to="{path:'register',query:{setid:123456}}">
    <span>去这里注册</span>
 </router-link>
 
 //带参跳转 路由不显示
 <router-link :to="{path:'register',params:{setid:123456}}">
    <span>去这里注册</span>
 </router-link>

2、this.$router.push()

//不带参数跳转
this.$router.push("/register")
​
//带参跳转 路由显示
this.$router.push({path:"/register",query:{setid:123456}})
​
//带参跳转 路由不显示 页面刷新数据丢失
this.$router.push({name:"register",params:{setid:123456}})

说明:这个常常在方法中使用使用实例如下:

 // 查看日志
 handlerViewLog(row) {
        this.$router.push({ path: '../dgtask/log', query: { jobId: row.id }})
 },

3、this.$router.go(1);

// 后退一步记录,等同于 history.back()
this.$router.go(-1);
​
// 在浏览器记录中前进一步,等同于 history.forward()
this.$router.go(1);

4、this.$router.replace

1.跳转到指定URL,替换history栈中最后一个记录,点击后退会返回至上上一个页面 (A----->B----->C 结果B被C替换 A----->C) 2.设置 replace 属性(默认值: false)的话,当点击时,会调用 router.replace() 而不是 router.push(),于是导航后不会留下 history 记录。即使点击返回按钮也不会回到这个页面 加上replace: true后,它不会向 history 添加新记录,而是跟它的方法名一样 —— 替换掉当前的 history 记录。

//跳转后无法返回到上一页
this.$router.replace("/register")
//声明式:
<router-link :to="/register" replace></router-link>
// 编程式:
this.$router.replace('/register')
//push方法也可以传replace
this.$router.push({path: '/register', replace: true})

参考资料:https:/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值