当前位置:首页 > VUE

vue 路由实现

2026-01-11 20:53:54VUE

Vue 路由实现方法

Vue Router 是 Vue.js 的官方路由管理器,用于构建单页面应用(SPA)。以下是实现 Vue 路由的基本步骤:

安装 Vue Router

使用 npm 或 yarn 安装 Vue Router:

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

基本配置

在项目中创建路由配置文件(通常为 router/index.js):

import { createRouter, createWebHistory } from 'vue-router';
import Home from '../views/Home.vue';
import About from '../views/About.vue';

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

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

export default router;

在主文件中引入路由

main.jsmain.ts 中引入并挂载路由:

import { createApp } from 'vue';
import App from './App.vue';
import router from './router';

const app = createApp(App);
app.use(router);
app.mount('#app');

路由视图与导航

在组件中使用 <router-view><router-link>

<template>
  <div>
    <router-link to="/">Home</router-link>
    <router-link to="/about">About</router-link>
    <router-view></router-view>
  </div>
</template>

动态路由

通过冒号 : 定义动态路由参数:

{
  path: '/user/:id',
  name: 'User',
  component: User
}

在组件中通过 $route.params.iduseRoute() 获取参数:

import { useRoute } from 'vue-router';

const route = useRoute();
console.log(route.params.id);

嵌套路由

通过 children 属性实现嵌套路由:

{
  path: '/user/:id',
  component: User,
  children: [
    {
      path: 'profile',
      component: UserProfile
    },
    {
      path: 'posts',
      component: UserPosts
    }
  ]
}

在父组件中使用 <router-view> 显示子路由。

路由守卫

通过路由守卫实现权限控制或导航拦截:

router.beforeEach((to, from, next) => {
  if (to.meta.requiresAuth && !isAuthenticated) {
    next('/login');
  } else {
    next();
  }
});

懒加载路由

使用动态导入实现路由懒加载:

{
  path: '/about',
  name: 'About',
  component: () => import('../views/About.vue')
}

路由元信息

通过 meta 字段传递路由元信息:

{
  path: '/admin',
  meta: { requiresAuth: true }
}

编程式导航

通过 router.pushrouter.replace 实现编程式导航:

import { useRouter } from 'vue-router';

const router = useRouter();
router.push('/about');
// 或
router.replace('/about');

以上方法涵盖了 Vue Router 的基本使用场景,可根据实际需求灵活组合。

vue 路由实现

标签: 路由vue
分享给朋友:

相关文章

vue实现多级组件

vue实现多级组件

实现多级组件的基本结构 在Vue中实现多级组件通常涉及父子组件嵌套,通过props向下传递数据,通过$emit向上传递事件。多级组件的核心是递归或动态组件渲染。 <!-- 父组件 Parent…

vue实现购物按钮

vue实现购物按钮

Vue 购物按钮实现方法 基础按钮实现 使用 Vue 的模板语法创建基础按钮组件,绑定点击事件处理购物逻辑: <template> <button @click="addTo…

vue实现裁剪头像

vue实现裁剪头像

Vue 实现头像裁剪功能 实现头像裁剪功能通常需要结合第三方库如 cropperjs 或 vue-cropper。以下是两种常见实现方式: 使用 vue-cropper 库 安装依赖: np…

vue手动实现弹窗

vue手动实现弹窗

实现弹窗组件的基本结构 在Vue中手动实现弹窗组件,需要创建一个独立的弹窗组件,并通过props控制其显示与隐藏。弹窗组件通常包含遮罩层、内容区域和关闭按钮。 <template>…

vue实现适老化样式

vue实现适老化样式

Vue 实现适老化样式的关键方法 全局字体与字号调整 通过 CSS 变量或主题配置统一放大基础字号,建议正文不小于 18px,标题更大。在 App.vue 中设置全局样式: :root { -…

vue弹幕实现不重叠

vue弹幕实现不重叠

实现 Vue 弹幕不重叠的方法 CSS 定位与动画控制 通过绝对定位和动态计算弹幕轨道高度,确保弹幕在不同轨道上运行。每条弹幕占据固定高度的轨道,避免重叠。 // 弹幕轨道高度计算 const tr…