当前位置:首页 > 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 中可以通过动态组件配合递归组件实现多级弹窗。定义一个基础弹窗组件,通过递归调用自身实现层级嵌套。 基础弹窗组件模板示例: &…

vue实现好评弹框

vue实现好评弹框

Vue 实现好评弹框的方法 使用 Vue 实现好评弹框可以通过组件化方式完成,结合动态数据绑定和事件处理。以下是具体实现步骤: 1. 创建弹框组件 新建一个 RatingDialog.vue 组件…

vue实现多层评论回复

vue实现多层评论回复

Vue 实现多层评论回复 数据结构设计 多层评论通常采用嵌套结构,每个评论对象包含子评论数组。示例数据结构如下: comments: [ { id: 1, content: '父…

vue为啥能实现监听

vue为啥能实现监听

Vue 实现监听的原理 Vue 的监听能力主要基于其响应式系统,该系统通过数据劫持和依赖收集实现。当数据变化时,系统能自动触发视图更新或执行回调函数。 核心机制:Object.definePrope…

vue实现打字机

vue实现打字机

Vue实现打字机效果 在Vue中实现打字机效果可以通过动态更新文本内容并添加延迟来实现。以下是几种常见的实现方法: 使用setInterval实现 <template> <d…

vue的艾特功能实现

vue的艾特功能实现

Vue 的 @ 功能实现 在 Vue 中实现类似社交平台的 @ 功能,通常涉及输入框的监听、用户匹配和选择插入。以下是具体实现方法: 监听输入框内容 使用 v-model 绑定输入框内容,并通过 @…