【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 入门,理解状态管理的思想。

相关推荐
Asize44 分钟前
AI 协作开发新范式:我用 SDD 做了个排版 npm 包
前端·人工智能
kyriewen2 小时前
我把今年流传的前端 AI 面试题整理了一遍——4 类场景题+回答框架(附速查表)
前端·面试·程序员
计算机魔术师3 小时前
国产多模态模型正面硬刚Opus旗舰:差距从30%缩到3%
前端
风骏时光牛马3 小时前
程序员进阶:深度思考,解锁职场成长的底层逻辑
前端
IT_陈寒3 小时前
用了Proxy才发现以前的JavaScript白写了
前端·人工智能·后端
爱丶不疚3 小时前
Eval: Agent 说的 Eval 是什么?从单测、TDD 到 Sentry 聊起
前端·ai编程·vibecoding
求道於盲3 小时前
python中的类型标注
前端
计算机魔术师4 小时前
从硅谷测试到全球铺开,ChatGPT广告的10亿美元秘密
前端
专业抄代码选手5 小时前
08|Fiber 上的 `useState`:状态终于属于具体组件
前端·javascript·react.js
默_笙5 小时前
😭 Vibe Coding 翻车实录:AI 编程为什么必须先写"剧本"
前端·javascript