当前位置:首页 > VUE

vue router实现导航

2026-01-18 09:19:22VUE

安装 Vue Router

在项目中安装 Vue Router 依赖:

npm install vue-router

配置路由

src/router/index.js 中创建路由配置:

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

const routes = [
  { path: '/', component: Home },
  { path: '/about', component: About }
]

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

export default router

挂载路由

main.js 中导入并挂载路由:

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

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

使用 <router-view>

在根组件 App.vue 中添加 <router-view> 作为路由出口:

<template>
  <div id="app">
    <router-view></router-view>
  </div>
</template>

导航跳转

通过 <router-link> 或编程式导航实现页面跳转:

vue router实现导航

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

编程式导航(在组件方法中调用):

this.$router.push('/about')

动态路由

配置带参数的路由:

const routes = [
  { path: '/user/:id', component: User }
]

在组件中通过 $route.params.id 获取参数。

vue router实现导航

导航守卫

通过路由守卫控制访问权限:

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

嵌套路由

配置子路由:

const routes = [
  {
    path: '/parent',
    component: Parent,
    children: [
      { path: 'child', component: Child }
    ]
  }
]

在父组件模板中添加 <router-view> 显示子路由。

懒加载路由

通过动态导入优化性能:

const routes = [
  { path: '/', component: () => import('../views/Home.vue') }
]

标签: vuerouter
分享给朋友:

相关文章

vue实现前端分离

vue实现前端分离

Vue 实现前后端分离 前后端分离是一种架构模式,前端负责页面渲染和交互逻辑,后端提供数据接口。Vue.js 作为前端框架,非常适合实现前后端分离的开发模式。 核心实现步骤 创建 Vue 项目 使用…

vue实现共享屏幕

vue实现共享屏幕

共享屏幕的基本实现 在Vue中实现共享屏幕功能通常需要结合浏览器的getDisplayMedia API。以下是一个基础实现示例: <template> <div>…

vue实现自动翻译

vue实现自动翻译

Vue 实现自动翻译的方法 在 Vue 项目中实现自动翻译功能可以通过多种方式完成,以下是几种常见的方法: 使用第三方翻译 API 注册并获取翻译 API 的密钥(如 Google Translat…

vue实现放大效果

vue实现放大效果

使用 CSS transform 实现放大效果 在 Vue 中实现放大效果可以通过 CSS 的 transform: scale() 属性。这种方法简单高效,适合大多数交互场景。 定义一个 CSS…

课程表vue实现

课程表vue实现

实现课程表的Vue组件 创建课程表需要设计数据结构、布局和交互逻辑。以下是一个基于Vue 3的实现方案: 数据结构设计 const timetableData = ref([ {…

vue实现按钮组轮换

vue实现按钮组轮换

实现按钮组轮换的方法 在Vue中实现按钮组轮换效果可以通过动态绑定类和事件处理来完成。以下是一种常见的实现方式: 模板部分 <template> <div class="…