当前位置:首页 > VUE

vue实现导航跳转

2026-03-08 09:34:05VUE

vue-router 基本跳转方法

在 Vue 项目中通过 vue-router 实现导航跳转,需要先安装并配置路由。安装依赖:

npm install vue-router

创建路由配置文件(通常为 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

声明式导航跳转

在模板中使用 <router-link> 组件实现跳转:

<template>
  <router-link to="/">首页</router-link>
  <router-link to="/about">关于</router-link>
</template>

可通过 active-class 指定激活状态的样式类名:

<router-link to="/about" active-class="active-link">关于</router-link>

编程式导航跳转

在组件方法中使用 router.push() 实现跳转:

vue实现导航跳转

methods: {
  goToAbout() {
    this.$router.push('/about')
  }
}

带参数的跳转方式:

// 路径写法
this.$router.push('/user/123')

// 对象写法
this.$router.push({ path: '/user', query: { id: 123 } })

// 命名路由写法(需在路由配置中设置name)
this.$router.push({ name: 'user', params: { id: 123 } })

路由传参方式

通过动态路由传递参数:

// 路由配置
{ path: '/user/:id', component: User }

// 组件中获取
this.$route.params.id

通过查询参数传递:

vue实现导航跳转

// 跳转时
this.$router.push({ path: '/search', query: { keyword: 'vue' } })

// 组件中获取
this.$route.query.keyword

导航守卫控制

全局前置守卫示例:

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

组件内守卫:

export default {
  beforeRouteEnter(to, from, next) {
    // 在渲染该组件的对应路由被验证前调用
    next()
  },
  beforeRouteUpdate(to, from, next) {
    // 当前路由改变但组件被复用时调用
    next()
  }
}

路由懒加载优化

使用动态导入实现路由懒加载:

const User = () => import('../views/User.vue')

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

标签: 跳转vue
分享给朋友:

相关文章

vue 实现关闭

vue 实现关闭

Vue 实现关闭功能的方法 在Vue中实现关闭功能通常涉及组件销毁、模态框隐藏或路由跳转等场景。以下是几种常见实现方式: 销毁当前组件 使用v-if或v-show控制组件显示/隐藏,适用于局部组件:…

vue实现翻译

vue实现翻译

Vue 实现翻译功能的方法 使用 i18n 插件实现多语言切换 安装 vue-i18n 插件: npm install vue-i18n 创建语言资源文件(如 en.json 和 zh.json):…

vue滚动实现

vue滚动实现

Vue 滚动实现方法 使用原生滚动 在 Vue 中可以通过 ref 获取 DOM 元素,调用原生滚动方法实现滚动效果。适用于简单场景。 <template> <div ref=…

vue实现接口

vue实现接口

在 Vue 中实现接口请求 Vue 本身不直接提供 HTTP 请求功能,通常需要借助第三方库如 axios 或 fetch 来实现接口请求。以下是几种常见方法: 使用 axios 发送请求 安装 a…

vue实现录像

vue实现录像

Vue 实现录像功能 在 Vue 中实现录像功能通常需要借助浏览器的 MediaDevices API 和 MediaRecorder API。以下是实现步骤: 获取用户摄像头和麦克风权限 使用 n…

vue 实现登录

vue 实现登录

Vue 实现登录功能 创建登录表单组件 在 Vue 项目中创建一个登录表单组件(如 Login.vue),包含用户名和密码输入框以及提交按钮。使用 v-model 实现双向数据绑定。 <tem…