当前位置:首页 > VUE

vue router实现方式

2026-01-17 04:29:02VUE

Vue Router 的基本实现

安装 Vue Router 依赖包
通过 npm 或 yarn 安装最新版本:

npm install vue-router@4

在项目中创建路由配置文件
通常命名为 router/index.js,基础配置示例:

import { createRouter, createWebHistory } from 'vue-router'
import HomeView from '../views/HomeView.vue'

const routes = [
  { path: '/', name: 'home', component: HomeView },
  { path: '/about', name: 'about', component: () => import('../views/AboutView.vue') }
]

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

export default router

路由模式选择

哈希模式(Hash Mode)
适合无需服务器配置的简单项目,URL 会带 # 符号:

createWebHashHistory()

HTML5 历史模式
需要服务器支持,URL 更简洁:

createWebHistory()

路由视图与导航

在主入口文件挂载路由

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

createApp(App).use(router).mount('#app')

模板中使用路由

<router-view/>  <!-- 路由出口 -->
<router-link to="/about">About</router-link>  <!-- 导航链接 -->

动态路由匹配

参数传递与接收

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

组件内通过 $route.params.id 获取参数,或使用组合式 API:

import { useRoute } from 'vue-router'
const route = useRoute()
console.log(route.params.id)

导航守卫

全局前置守卫

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

路由独享守卫

{
  path: '/admin',
  component: Admin,
  beforeEnter: (to, from) => {
    // 拒绝导航
    return false
  }
}

路由元信息

定义路由时添加 meta 字段

{
  path: '/profile',
  component: Profile,
  meta: { requiresAuth: true }
}

路由懒加载

动态导入组件提升性能

{
  path: '/dashboard',
  component: () => import('../views/Dashboard.vue')
}

编程式导航

在组件逻辑中跳转

import { useRouter } from 'vue-router'
const router = useRouter()

// 字符串路径
router.push('/users')

// 带参数的对象
router.push({ path: '/register', query: { plan: 'private' } })

vue router实现方式

标签: 方式vue
分享给朋友:

相关文章

vue无限菜单怎么实现

vue无限菜单怎么实现

实现 Vue 无限菜单的方法 递归组件实现嵌套菜单 使用 Vue 的递归组件特性可以轻松实现无限级嵌套菜单。通过组件调用自身的方式处理嵌套数据。 <template> <ul…

vue computed 实现

vue computed 实现

computed 的基本用法 在 Vue 中,computed 用于声明计算属性,这些属性基于响应式依赖进行缓存。只有当依赖发生变化时,计算属性才会重新计算。 new Vue({ data:…

vue实现markdown

vue实现markdown

Vue 实现 Markdown 编辑器 在 Vue 中实现 Markdown 编辑器可以通过集成第三方库或自定义解析器完成。以下是两种常见方法: 使用第三方库(如 marked 或 markdow…

vue 实现流程

vue 实现流程

Vue 实现流程 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。以下是 Vue 实现的基本流程: 安装 Vue.js 通过 CDN 引入或使用 npm/yarn 安装:…

vue实现布局

vue实现布局

Vue 实现布局方法 Vue 提供了多种方式实现页面布局,可以通过组件化、CSS 框架或自定义样式完成。以下是几种常见方法: 使用 CSS Flexbox 或 Grid 通过 Vue 单文件组件结合…

vue实现弹幕

vue实现弹幕

Vue 实现弹幕功能 弹幕功能通常包括动态生成、滚动显示、颜色和速度随机化等特性。以下是基于 Vue 3 的实现方法。 核心思路 使用 CSS 动画控制弹幕从右向左滚动。 动态生成弹幕数据,随机设置…