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

模板中使用路由

vue router实现方式

<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)

导航守卫

全局前置守卫

vue router实现方式

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
分享给朋友:

相关文章

vue实现选择分类

vue实现选择分类

Vue 实现选择分类的方法 使用 v-model 绑定选择值 在 Vue 中可以通过 v-model 指令实现双向数据绑定,适用于下拉选择框(<select>)。以下是一个基本示例: &…

vue前端实现登录

vue前端实现登录

实现登录功能的基本流程 使用Vue实现登录功能需要结合前端框架和后端API交互。以下是一个典型的实现方案: 安装必要依赖 确保项目已安装axios用于HTTP请求: npm install axi…

vue的艾特功能实现

vue的艾特功能实现

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

vue实现关键词轮播

vue实现关键词轮播

Vue 实现关键词轮播 基础实现方案 使用 Vue 的 v-for 和 setInterval 实现基础轮播效果: <template> <div class="keywor…

vue实现字母添加排序

vue实现字母添加排序

实现字母添加排序的方法 在Vue中实现字母添加排序功能,可以通过以下步骤完成: 创建Vue实例并定义数据 new Vue({ el: '#app', data: { letters…

vue里实现增删改查

vue里实现增删改查

在Vue中实现增删改查 数据初始化 在Vue组件的data中定义初始数据和表单绑定的变量: data() { return { items: [ { id: 1, name:…