当前位置:首页 > 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')
}

编程式导航

在组件逻辑中跳转

vue router实现方式

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

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

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

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

相关文章

vue登录业务的实现

vue登录业务的实现

实现登录业务的基本流程 在Vue中实现登录业务通常涉及前端界面设计、表单验证、API请求交互、状态管理以及路由控制等环节。以下是核心实现步骤: 登录表单设计与验证 创建包含用户名和密码输入框的登录组…

vue实现主题

vue实现主题

Vue 实现主题的方法 使用 CSS 变量动态切换主题 定义全局 CSS 变量,通过修改这些变量实现主题切换。在 Vue 的根组件或全局样式中定义变量: :root { --primary-co…

vue实现浮标

vue实现浮标

Vue 实现浮动按钮(浮标) 使用 Vue 实现浮动按钮可以通过多种方式完成,以下是几种常见的方法: 使用 CSS 定位和 Vue 组件 创建 Vue 组件并配合 CSS 固定定位实现浮动按钮:…

vue实现addclass

vue实现addclass

Vue 实现动态添加 class 的方法 在 Vue 中动态添加 class 可以通过多种方式实现,以下是常见的几种方法: 使用对象语法 通过绑定一个对象到 :class,可以动态切换 class…

vue nexttick 实现

vue nexttick 实现

Vue nextTick 实现原理 Vue 的 nextTick 是一个用于在下次 DOM 更新循环结束之后执行延迟回调的方法。它主要用于确保在 DOM 更新完成后执行某些操作。 核心实现机制 ne…

vue实现结算页面

vue实现结算页面

Vue 实现结算页面的核心步骤 数据绑定与表单验证 使用 Vue 的 v-model 绑定表单数据,例如收货地址、支付方式等。通过 Vue 的 computed 属性计算总价,结合 v-if 或 v-…