随笔 - 750  文章 - 1  评论 - 107  阅读 - 34万

【转】[Vue] route 路由的使用

来自:kimi.ai

在 Vue.js 中,路由(route)通常用于实现单页面应用(SPA)的页面切换和导航功能。Vue 的路由功能是通过 vue-router 库实现的。以下是一个简单的 vue-router 定义示例,展示如何配置路由规则以及如何在 Vue 应用中使用路由。

示例代码

1. 安装 vue-router

如果你还没有安装 vue-router,可以通过 npm 或 yarn 安装:
bash复制
npm install vue-router
# 或者
yarn add vue-router

2. 创建路由配置文件

通常会创建一个专门的文件(如 router/index.js)来管理路由配置。
JavaScript复制
// router/index.js
import { createRouter, createWebHistory } from 'vue-router';
import Home from '../views/Home.vue';
import About from '../views/About.vue';
import Contact from '../views/Contact.vue';

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home
  },
  {
    path: '/about',
    name: 'About',
    component: About
  },
  {
    path: '/contact',
    name: 'Contact',
    component: Contact
  },
  {
    path: '/user/:id', // 动态路由
    name: 'UserProfile',
    component: () => import('../views/UserProfile.vue')
  },
  {
    path: '/:pathMatch(.*)*', // 404 页面
    name: 'NotFound',
    component: () => import('../views/NotFound.vue')
  }
];

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

export default router;

3. 创建视图组件

views 文件夹中创建对应的组件文件。例如:
vue复制
<!-- views/Home.vue -->
<template>
  <div>
    <h1>Home Page</h1>
    <p>Welcome to the home page!</p>
  </div>
</template>

<script>
export default {
  name: 'Home'
};
</script>
vue复制
<!-- views/About.vue -->
<template>
  <div>
    <h1>About Page</h1>
    <p>Learn more about us.</p>
  </div>
</template>

<script>
export default {
  name: 'About'
};
</script>
vue复制
<!-- views/Contact.vue -->
<template>
  <div>
    <h1>Contact Page</h1>
    <p>Contact us at contact@example.com</p>
  </div>
</template>

<script>
export default {
  name: 'Contact'
};
</script>

4. 在主文件中引入路由

main.jsmain.ts 文件中引入路由配置,并将其挂载到 Vue 应用中。
JavaScript复制
// main.js
import { createApp } from 'vue';
import App from './App.vue';
import router from './router';

const app = createApp(App);

app.use(router);

app.mount('#app');

5. 在根组件中使用 <router-view> 和 <router-link>

App.vue 文件中,使用 <router-view> 来显示当前路由对应的组件,并使用 <router-link> 来创建导航链接。
vue复制
<!-- App.vue -->
<template>
  <div id="app">
    <nav>
      <router-link to="/">Home</router-link> |
      <router-link to="/about">About</router-link> |
      <router-link to="/contact">Contact</router-link>
    </nav>

    <router-view />
  </div>
</template>

<script>
export default {
  name: 'App'
};
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

示例说明

  1. 路由配置:
    • path:定义路由的路径。
    • name:为路由定义一个名称,方便在代码中引用。
    • component:指定该路由对应的组件。
    • 动态路由(如 /user/:id)可以通过 this.$route.params.id 获取动态参数。
    • 404 页面(/:pathMatch(.*)*)用于捕获所有未匹配的路径。
  2. 导航链接:
    • 使用 <router-link> 来创建导航链接,to 属性指定目标路由的路径。
    • <router-link> 会被渲染为 <a> 标签,点击后会触发路由切换,而不会刷新页面。
  3. 路由视图:
    • <router-view> 是一个占位符,用于显示当前路由对应的组件内容。
  4. 动态路由和嵌套路由:
    • 动态路由(如 /user/:id)可以通过 this.$route.params 获取动态参数。
    • 嵌套路由可以通过在路由配置中嵌套 children 属性来实现。
通过以上步骤,你可以在 Vue 应用中实现一个基本的路由功能,用于管理页面切换和导航。
posted on   z5337  阅读(21)  评论(5编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2024-02-05 [转][Centos]安装 gogs
2024-02-05 【转】【Centos】配置静态IP
2024-02-05 【转】【Centos】安装 VMware Tools
2024-02-05 [转][Linux]安装 Centos
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示