1、区别:
this.$router是全局路由器对象 this.$route是当前激活的路由对象,包含了当前的路由信息。
console.log(this.$route); { fullPath:'/home' //包含查询参数和 hash 的完整路径 path:'', //当前路由路径,绝对路径 name:'Home', meta:{auth:true}, //是否需要登录 hash:'', params:{}, query:{id:1} //表示 URL 查询参数,相当于/home?id=1 matched:?? }
1.字符串 this.$router.push('/home') 2.对象 this.$router.push({path:'home'}) 3.命名的路由 this.$router.push({name:'home',params:{id:1}}) 4.带查询参数 this.$router.push({path:'home',query:{id:1}})
1.声明式:<router-link :to="">
2.编程式:this.$router.push();
4、path:'name' 和 path:'/name' 区别:
假如当前路径是home
this.$router.push('/name') => /home/name this.$router.push('name') => /name