当前位置:首页 > 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> 或编程式导航实现页面跳转:

<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 获取参数。

导航守卫

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

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> 显示子路由。

懒加载路由

通过动态导入优化性能:

vue router实现导航

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

标签: vuerouter
分享给朋友:

相关文章

vue实现试卷

vue实现试卷

Vue实现试卷系统的基本思路 使用Vue.js构建试卷系统需要结合组件化开发、状态管理和后端数据交互。核心功能包括题目展示、答题逻辑、计时器和提交答案。 核心功能模块划分 试卷组件结构 试卷容器组…

vue实现api

vue实现api

Vue 实现 API 调用 在 Vue 中调用 API 通常涉及使用 axios 或 fetch 发送 HTTP 请求,并结合 Vue 的响应式特性管理数据。以下是常见的实现方式: 安装 axios…

vue实现拖拉

vue实现拖拉

实现拖拽功能的基本步骤 在Vue中实现拖拽功能可以通过原生HTML5的拖放API或第三方库如vuedraggable完成。以下是两种方法的详细说明。 使用HTML5原生拖放API HTML5提供了原…

vue实现语音播报

vue实现语音播报

实现语音播报的基本方法 在Vue中实现语音播报功能,可以通过Web Speech API中的SpeechSynthesis接口来完成。该接口允许开发者将文本转换为语音并播放。 使用SpeechSyn…

vue实现轮播文字

vue实现轮播文字

Vue实现轮播文字的方法 使用Vue的transition组件 在Vue中可以通过transition组件结合CSS动画实现文字轮播效果。定义一个数组存储需要轮播的文字内容,通过定时器切换当前显示的索…

vue 分页的实现

vue 分页的实现

Vue 分页的实现方法 使用 Element UI 的分页组件 安装 Element UI: npm install element-ui 在 Vue 项目中引入 Element UI 的分页组件:…