当前位置:首页 > 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 的递归组件特性可以轻松实现无限级嵌套菜单。通过组件调用自身的方式处理嵌套数据。 <template> <ul&…

vue实现单点

vue实现单点

Vue 实现单点登录(SSO)方案 单点登录(SSO)允许用户在多个相关但独立的系统中使用同一组凭证登录。以下是基于 Vue 的实现方案: 基于 OAuth2/OpenID Connect 的实现…

vue实现星星

vue实现星星

实现星星评分的Vue组件 使用Vue实现星星评分功能可以通过组件化方式完成,以下是一个完整的实现方案: 模板部分 <template> <div class="star-ra…

vue实现选区

vue实现选区

Vue 实现选区的基本方法 在Vue中实现选区功能通常涉及DOM操作和事件处理。以下是几种常见的方法: 使用原生JavaScript的Selection API 通过window.getSelec…

vue element实现

vue element实现

Vue Element UI 实现 Vue Element UI 是基于 Vue.js 的组件库,提供丰富的 UI 组件,适合快速开发企业级中后台产品。以下是一些关键实现方法和步骤: 安装 Vue…

vue树形实现

vue树形实现

Vue 树形组件实现方法 使用递归组件实现树形结构 递归组件是 Vue 中实现树形结构的常见方法。通过组件调用自身的方式,可以轻松构建多层嵌套的树形结构。 <template> &l…