在Vue中,$router指向的是大路由,routes是路由配置数组, $route指向的是当前活跃的路由。
$router:
const router = new VueRouter({
// 配置路由和组件之间的应用关系
routes,
mode: 'history',
linkActiveClass: 'active'
})
routes:
const routes = [
{
path: '',
// redirect重定向
redirect: '/home'
},
{
path: '/home',
component: Home,
meta: {
title: '首页'
},
children: [
// {
// path: '',
// redirect: 'news'
// },
{
path: 'news',
component: HomeNews
},
{
path: 'message',
component: HomeMessage
}
]
},
{
path: '/user/:id', //拼接用户id
component: User,
meta: {
title: '用户'
},
}
]
$route:
export default {
name: "User",
computed: {
userId() {
// $route和$router不一样,$route是当前哪个路由处于活跃状态,你拿到的就是哪个路由
return this.$route.params.id
}
},
created() {
console.log('User created');
},
destroyed() {
console.log('User destroyed');
},
methods: {
btnClick() {
// 所有的组件都继承自Vue类的原型
console.log(this.$router);
console.log(this.$route);
console.log(this.name);
}
}
}
以上,阿弥陀佛。