当前位置:首页 > VUE

vue实现route

2026-01-12 20:42:36VUE

Vue Router 基础实现

安装 Vue Router 依赖包

npm install vue-router@4

src/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(process.env.BASE_URL),
  routes
})

export default router

路由视图与导航

main.js 中注册路由

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

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

App.vue 中添加路由出口

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

动态路由配置

定义带参数的路由

{
  path: '/user/:id',
  name: 'user',
  component: () => import('../views/UserView.vue')
}

在组件中获取路由参数

<script setup>
import { useRoute } from 'vue-router'
const route = useRoute()
console.log(route.params.id)
</script>

导航守卫使用

全局前置守卫示例

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

路由独享守卫

{
  path: '/admin',
  component: AdminView,
  beforeEnter: (to, from, next) => {
    // 验证逻辑
  }
}

路由元信息

定义路由 meta 字段

{
  path: '/dashboard',
  component: DashboardView,
  meta: { requiresAuth: true }
}

在组件中访问 meta 信息

<script setup>
import { useRoute } from 'vue-router'
const route = useRoute()
console.log(route.meta.requiresAuth)
</script>

编程式导航

在组件中进行导航跳转

<script setup>
import { useRouter } from 'vue-router'
const router = useRouter()

function navigate() {
  router.push('/dashboard')
  // 或使用命名路由
  // router.push({ name: 'dashboard' })
}
</script>

带参数的导航

router.push({ name: 'user', params: { id: 123 } })
router.push({ path: '/user', query: { search: 'vue' } })

vue实现route

标签: vueroute
分享给朋友:

相关文章

vue实现图片分析

vue实现图片分析

Vue 实现图片分析的方法 在 Vue 中实现图片分析通常涉及图片上传、预览、后端交互以及分析结果展示等功能。以下是几种常见的实现方式: 使用 HTML5 File API 和 Canvas…

vue 页签实现

vue 页签实现

Vue 页签实现方法 在 Vue 中实现页签功能通常涉及动态组件、路由或状态管理。以下是几种常见的实现方式: 使用动态组件 通过 Vue 的 <component> 动态组件结合 v-f…

vue实现按钮刷新

vue实现按钮刷新

Vue 实现按钮刷新功能 在 Vue 中实现按钮刷新功能可以通过多种方式实现,具体取决于刷新需求是局部刷新还是全局刷新。以下是几种常见的方法: 使用 window.location.reload()…

vue登录逻辑的实现

vue登录逻辑的实现

Vue 登录逻辑实现 前端实现 创建登录组件 在 Vue 项目中创建一个登录组件,通常命名为 Login.vue。该组件包含表单元素,如用户名和密码输入框,以及提交按钮。 <template&…

vue怎么实现选中删除

vue怎么实现选中删除

实现选中删除功能的方法 在Vue中实现选中删除功能通常涉及以下几个关键步骤: 数据绑定与选中状态管理 使用v-model或v-for指令绑定列表数据,结合复选框或单选按钮实现选中状态管理。例如:…

vue实现简单的弹窗

vue实现简单的弹窗

使用 Vue 实现简单弹窗 组件基础结构 创建一个名为 Modal.vue 的组件文件,包含模板、脚本和样式部分: <template> <div class="mod…