Vue 自定义指令
Vue 过渡 & 动画 

Vue 路由

Vue Router 是 Vue.js 官方的路由管理器。它与 Vue.js 核心深度集成,允许开发者通过简单的配置来构建单页面应用 (SPA),并且提供了诸如路由参数、嵌套路由、命名路由等高级功能。下面是关于 Vue Router 的基本介绍和用法:

安装和基本用法

安装 Vue Router

首先确保你的 Vue 项目中已经安装了 Vue.js(使用 vue create 或者其他方式),然后安装 Vue Router:

npm install vue-router
# 或者
yarn add vue-router

在项目中使用 Vue Router

在 Vue 项目中使用 Vue Router 需要先创建一个路由实例,并将其与根组件挂载:

// main.js 或者 App.vue 中
import Vue from 'vue';
import VueRouter from 'vue-router';
import Home from './components/Home.vue';
import About from './components/About.vue';
Vue.use(VueRouter);
const routes = [
  { path: '/', component: Home },
  { path: '/about', component: About }
];
const router = new VueRouter({
  routes
});
new Vue({
  router,
  render: h => h(App)
}).$mount('#app');


基本的路由配置

在上述示例中,我们创建了两个简单的路由:/ 和 /about,分别指向 Home 和 About 组件。每个路由都定义了一个 path 和相应的 component。

Router-View 和 Router-Link

在 Vue Router 中,使用 <router-view> 组件来显示匹配到的组件,使用 <router-link> 组件来导航到不同的路由。

<!-- App.vue -->
<template>
  <div id="app">
    <router-link to="/">Home</router-link>
    <router-link to="/about">About</router-link>
    <router-view></router-view>
  </div>
</template>
<script>
export default {
  name: 'App'
};
</script>

动态路由匹配

Vue Router 允许你定义动态路由,例如从路径中提取参数并传递给组件使用:

const routes = [
  { path: '/user/:username', component: User }
];

在组件中通过 $route.params 可以访问到动态路由中的参数:

<!-- User.vue -->
<template>
  <div>User {{ $route.params.username }}</div>
</template>
<script>
export default {
  name: 'User'
};
</script>


嵌套路由

Vue Router 支持嵌套路由,允许在组件内部定义子路由:

const routes = [
  {
    path: '/user',
    component: User,
    children: [
      { path: '', component: UserProfile },
      { path: 'posts', component: UserPosts }
    ]
  }
];


命名路由

你可以为路由配置命名,方便在代码中进行跳转或者获取路由信息:

const routes = [
  { path: '/user/:id', component: User, name: 'user' }
];

在代码中使用命名路由:

<router-link :to="{ name: 'user', params: { id: userId }}">User Profile</router-link>


导航守卫

Vue Router 提供了导航守卫,允许你在路由发生变化前后执行逻辑,例如验证权限、取消导航等操作:

router.beforeEach((to, from, next) => {
  // 可以在这里执行权限验证等操作
  next();
});


总结

Vue Router 是 Vue.js 中管理路由的核心库,通过定义路由、嵌套路由、命名路由等功能,帮助开发者构建单页面应用(SPA)并进行页面间的导航控制。以上是 Vue Router 的基本介绍和常见用法,希望对你有所帮助!