Skip to content
本页目录

Vue Router 学习指南

1. 简介

  • Vue Router 是 Vue.js 官方提供的路由管理器,用于实现单页面应用(SPA)的路由功能。
  • 学习 Vue Router 之前,确保您对 Vue.js 有一定的了解。

2. 安装

  • 使用 npm 或 yarn 安装 Vue Router 到您的 Vue.js 项目中。
bash
# 使用npm
npm install vue-router

# 使用yarn
yarn add vue-router

3. 基本用法

  • 创建一个 Vue Router 实例并将其与 Vue 应用关联。
  • 定义路由表,包含不同路径与对应组件的映射。
javascript
import { createRouter, createWebHistory } from 'vue-router'
import Home from './components/Home.vue'
import About from './components/About.vue'

const routes = [
  { path: '/', component: Home },
  { path: '/about', component: About }
]

const router = createRouter({
  history: createWebHistory(),
  routes
})

export default router

4. 路由视图

  • 在 Vue 组件中使用 <router-view> 标签来渲染路由匹配到的组件。
html
<template>
  <div>
    <router-view></router-view>
  </div>
</template>

5. 路由导航

  • 使用<router-link>组件创建导航链接,以在单页面应用中切换不同的路由。
html
<template>
  <div>
    <router-link to="/">Home</router-link>
    <router-link to="/about">About</router-link>
  </div>
</template>

6. 路由传参

  • 使用路由参数传递数据给组件。
javascript
const routes = [{ path: '/user/:id', component: User }]
html
<router-link :to="{ path: `/user/${userId}` }">User Profile</router-link>

7. 嵌套路由

  • 在组件中定义嵌套的子路由。
javascript
const routes = [
  {
    path: '/parent',
    component: Parent,
    children: [{ path: 'child', component: Child }]
  }
]

8. 路由守卫

  • 使用路由守卫来处理导航前后的逻辑,例如登录验证、权限控制等。
javascript
router.beforeEach((to, from, next) => {
  // 检查用户是否登录,进行相关逻辑处理
  next()
})

9. 动态路由

  • 使用动态路由来根据不同条件加载组件。
javascript
const routes = [{ path: '/category/:id', component: Category }]

10. 路由懒加载

  • 使用路由懒加载来优化页面加载性能。
javascript
const routes = [
  {
    path: '/lazy',
    component: () => import('./components/LazyLoadedComponent.vue')
  }
]

lemon's personal blog.