【Vue2 ✨】Vue2 入门之旅(九):Vue Router 入门

在前面几篇文章中,我们学习了 Vue 的模板、组件、动画等知识。本篇将介绍 Vue Router,它是 Vue 官方提供的路由管理器,用于构建单页应用(SPA)。


目录

  1. 什么是路由
  2. [Vue Router 安装与引入](#Vue Router 安装与引入)
  3. 基本用法
  4. 动态路由
  5. 嵌套路由
  6. 编程式导航
  7. 小结

什么是路由

在传统网站中,点击链接会向服务器发送请求,返回新的 HTML 页面。

单页应用(SPA) 中,页面只有一个 HTML,切换页面其实是切换 组件,路由负责管理这种组件切换。


Vue Router 安装与引入

在 HTML 中直接引入:

html 复制代码
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue-router@3/dist/vue-router.js"></script>

或者在项目中安装:

bash 复制代码
npm install vue-router@3

基本用法

html 复制代码
<div id="app">
  <p>
    <router-link to="/home">首页</router-link>
    <router-link to="/about">关于</router-link>
  </p>
  <router-view></router-view>
</div>

<script>
// 定义组件
const Home = { template: '<h2>这里是首页</h2>' }
const About = { template: '<h2>这里是关于页</h2>' }

// 定义路由
const routes = [
  { path: '/home', component: Home },
  { path: '/about', component: About }
]

// 创建路由实例
const router = new VueRouter({ routes })

// 创建 Vue 实例
new Vue({
  el: '#app',
  router
})
</script>
  • <router-link> 用来生成导航链接
  • <router-view> 用来显示匹配到的组件

动态路由

可以在路径中使用参数:

html 复制代码
<div id="app">
  <router-link to="/user/101">用户 101</router-link>
  <router-view></router-view>
</div>

<script>
const User = { 
  template: '<p>用户 ID:{{ $route.params.id }}</p>' 
}

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

const router = new VueRouter({ routes })

new Vue({
  el: '#app',
  router
})
</script>

访问 /user/101 时,会显示 用户 ID:101


嵌套路由

路由里还可以嵌套子路由。

html 复制代码
<div id="app">
  <router-link to="/parent/child">子页面</router-link>
  <router-view></router-view>
</div>

<script>
const Parent = { template: '<div>父页面 <router-view></router-view></div>' }
const Child = { template: '<p>子页面</p>' }

const routes = [
  { 
    path: '/parent', 
    component: Parent,
    children: [
      { path: 'child', component: Child }
    ]
  }
]

const router = new VueRouter({ routes })

new Vue({
  el: '#app',
  router
})
</script>

编程式导航

除了 <router-link>,我们也可以在代码里跳转。

js 复制代码
this.$router.push('/home')
this.$router.replace('/about')
this.$router.go(-1) // 后退一步

小结

  1. Vue Router 用于管理 SPA 的页面切换。
  2. 核心组件:<router-link>(导航)、<router-view>(渲染)。
  3. 常见功能:基本路由、动态路由、嵌套路由、编程式导航。

📚 下一篇文章,我们将学习 Vuex 入门,理解状态管理的思想。

相关推荐
Jcc几秒前
虚拟 DOM 是什么?从 Snabbdom 理解 Vue 的 DOM 更新机制
前端
user6222986492581几秒前
Vue 常用技术知识全景:从响应式到组件通信的系统理解
前端
feiyu_gao1 分钟前
一个人 + AI:246 commits 做出设计系统 CLI 的故事
前端·ai编程·交互设计
奶油mm5 分钟前
从 0 到 1 搭建高可用 Redis Cluster:踩坑、优化与生产实践
前端
掘金安东尼22 分钟前
Agent Loop 深度调研:把决定权交给模型的一次换代,为什么发生在现在
前端
亿元程序员28 分钟前
Cocos视频拼图,终于支持微信小游戏了!
前端
JarvanMo41 分钟前
Flutter 的默认颜色
前端
IT_陈寒42 分钟前
Vite打包时踩的坑:静态资源为啥突然404了?
前端·人工智能·后端
神奇的程序员10 小时前
我的软件冲进苹果商店下载榜前 50 了
前端
阳光是sunny10 小时前
别再被 worktree 绕晕了!AI 编程时代你必须掌握的 Git 隔离神器
前端·人工智能·后端