vue路由跳转方式

vue路由跳转方式有四种,具体如下:
1、router-link
1.1.不带参数

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

2、this.$router.push() (函数里面调用)
2.1.不带参数
this.$router.push('/home')

this.$router.push({name:'home'})

this.$router.push({path:'/home'})
 2.2.query传参 
this.$router.push({name:'home',query: {id:'1'}})

this.$router.push({path:'/home',query: {id:'1'}})
html 取参:$route.query.id
script 取参:this.$route.query.id
2.3. params传参
this.$router.push({name:'home',params: {id:'1'}})
只能用 name,路由配置 path: "/home/:id" 或者 path: "/home:id" ,不配置path ,第一次可请求,刷新页面id会消失. 配置path,刷新页面id会保留。
html取参:$route.params.id,script取参:this.$route.params.id
 2.4. query和params区别

query类似 get, 跳转之后页面 url后面会拼接参数,类似?id=1, 非重要性的可以这样传.。

密码之类还是用params刷新页面id还在,params类似 post, 跳转之后页面 url后面不会拼接参数 , 但是刷新页面id 会消失.
3、this.$router.replace() (用法同push)
4、this.$router.go(n)
this.$router.go(n)
向前或者向后跳转n个页面,n可为正整数或负整数。

你可能感兴趣的:(Vue,Web)