The method of Vue page jump and how to jump with parameters

1. Several methods of page jump

1:router-link跳转
2:this.$router.push() 
3:this.$router.replace()  
4:this.$router.go(n) 

1. router-link jump

Usually used to click the view button to jump to other pages

1.不带参数
<router-link :to="{name:'home'}"> 
<router-link :to="{path:'/home'}"> //name,path都行, 建议用name 
// 注意:router-link中链接如果是'/'开始就是从根路由开始;如果不带'/',则从当前路由开始。
 
2.带params参数
<router-link :to="{name:'home', params: {id:123456}}"> 
// params传参数 (类似post)
// 路由配置 path: "/home/:id" 或者 path: "/home:id" 
// 不配置path ,第一次可请求,刷新页面id会消失;配置path,刷新页面id会保留。
// html 取参 $route.params.id    script 取参 this.$route.params.id
 
3.带query参数
<router-link :to="{name:'home', query: {id:123456}}"> 
// query传参数 (类似get,url后面会显示参数)
// 路由可不配置
// html 取参 $route.query.id    script 取参 this.$route.query.id

 2. this.$router.push() jump

1. 不带参数
this.$router.push('/home')
this.$router.push({name:'home'})
this.$router.push({path:'/home'})
 
2. query传参 
this.$router.push({name:'home',query: {id:'123456'}})
this.$router.push({path:'/home',query: {id:'123456'}})
// html 取参 $route.query.id    script 取参 this.$route.query.id
 
3. params传参
this.$router.push({name:'home',params: {id:'123456'}}) // 只能用 name
// 路由配置 path: "/home/:id" 或者 path: "/home:id" ,
// 不配置path ,第一次可请求,刷新页面id会消失
// 配置path,刷新页面id会保留
// html 取参 $route.params.id    script 取参 this.$route.params.id
 
4. query和params区别
query类似get, 跳转之后页面url后面会拼接参数,类似?id=123456, 非重要性的可以这样传, 密码之类还是用params刷新页面id还在
params类似post, 跳转之后页面url后面不会拼接参数, 但是刷新页面id会消失。

3. this.$router.replace()

The usage is the same as above, the same as the second this.$router.push method.

4. this.$router.go(n)

Jump forward or backward n pages, n can be positive or negative integer

<button @click="upPage">[上一页]</button>
<button @click="downPage">[下一页]</button>
upPage() {
this.$router.go(-1);  // 后退一步记录,等同于 history.back()
},
downPage() {
this.$router.go(1);   // 在浏览器记录中前进一步,等同于 history.forward()
}

ps: difference

1. this.$router.push

Jump to the specified url path, and add a record to the history stack, click Back to return to the previous page.

2. this.$router.replace

Jump to the specified url path, but there will be no records in the history stack, and clicking return will jump to the previous page (directly replace the current page).

3. this.$router.go(n)

Jump forward or backward n pages, n can be positive or negative integer.

Guess you like

Origin blog.csdn.net/m0_60237095/article/details/127141332