vue中$router和$route的区别

$router和$route的区别 

<router-link to="/login/4">点击</router-link>	
<router-link to="/reg?id=5">点击</router-link>	

 

const box=Vue.extend({});
const login=Vue.extend({
	template:'<div>login</div>'
});
const reg=Vue.extend({
	template:'<div>reg</div>'
});
const router=new VueRouter({
	routes:[
                {path:'/login/:id',component:login},
                {path:'/reg/:id',component:reg},
	]
})
	new Vue({
		el:"#box",
		router:router,
		methods:{
			a(){
				console.log(this.$router)
			},
			b(){
				console.log(this.$route)
			}
		}
	})
  • route是当前路由信息,可以获取到当前路由地址参数等等;
  • router是全局路由实例对象,可以通过router进行路由的跳转后退等等 

this.$router

this.$route

文章 

获取URL参数

使用路由获取页面参数

在路由中设置path:

{
    path: '/detail/:id/',
    name: 'detail',
    component: detail,
    meta: {
        title: '详情'
    }
}

获取参数 

let id = this.$route.params.id

备注:
1、参数名需要保持一致
2、如果路由中没有传参(http://192.168.1.12:8080/#/detail),会报错,页面无法显示,正常页面为 http://192.168.1.12:8080/#/detail/234

如果有的参数可传可不传,可以使用?传参
例如:http://192.168.1.12:8080/#/detail/?id=123
获取的时候:

let id = this.$route.query.id

 这样即使取不到参数,页面也不会报错

query传参,刷新页面不会丢失参数。但是params会丢参的

query通过path切换路由,params通过name切换路由

wenzhang1

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值