当前位置: 代码迷 >> 综合 >> this.$router.push、replace、go
  详细解决方案

this.$router.push、replace、go

热度:89   发布时间:2023-09-19 16:07:05.0

1.this.$router.push()

描述:跳转到不同的url,但这个方法回向history栈添加一个记录,点击后退会返回到上一个页面。

用法:

<!-- 字符串 -->
<router-link to="home">Home</router-link>
<!-- 渲染结果 -->
<a href="home">Home</a><!-- 使用 v-bind 的 JS 表达式 -->
<router-link v-bind:to="'home'">Home</router-link><!-- 不写 v-bind 也可以,就像绑定别的属性一样 -->
<router-link :to="'home'">Home</router-link><!-- 同上 -->
<router-link :to="{ path: 'home' }">Home</router-link><!-- 命名的路由 -->
<router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link><!-- 带查询参数,下面的结果为 /register?plan=private -->
<router-link :to="{ path: 'register', query: { plan: 'private' }}">Register</router-link
>

2.this.$router.replace()

描述:同样是跳转到指定的url,但是这个方法不会向history里面添加新的记录,点击返回,会跳转到上上一个页面。上一个记录是不存在的。

<router-link :to="{ path: '/abc'}" replace></router-link>

3.this.$router.go(n)

相对于当前页面向前或向后跳转多少个页面,类似 window.history.go(n)。n可为正数可为负数。正数返回上一个页面

//前进一步
router.go(1)
//后退一步
router.go(-1)history不够用,失败

 

  相关解决方案