1、区别:
this.$router: 是全局路由对象
this$route: 是当前激活的路由对象,包含了当前的路由信息。
console.log(this.$route);
控制台输出:
{
fullPath:'/home' //包含查询参数和 hash 的完整路径
path:'', //当前路由路径,绝对路径
name:'Home',
meta:{auth:true}, //是否需要登录
hash:'',
hash:'',
query:{id:1} //表示 URL 查询参数,相当于/home?id=1
matched:??
}
2、this.$router的方法:
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}})
3、路由跳转方式:
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