当前位置:首页 > VUE

vue实现导航跳转

2026-01-15 06:54:13VUE

vue-router 基本跳转方法

在 Vue 项目中实现导航跳转主要通过 vue-router 完成。安装路由依赖:

npm install vue-router

在 router/index.js 中配置路由:

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

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

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

声明式导航

使用 <router-link> 组件实现跳转:

<router-link to="/">首页</router-link>
<router-link :to="{ name: 'about' }">关于</router-link>

带参数的跳转示例:

<router-link :to="{ path: '/user', query: { id: 123 } }">用户</router-link>
<router-link :to="{ name: 'profile', params: { username: 'john' } }">个人资料</router-link>

编程式导航

通过 router.push() 方法跳转:

// 字符串路径
this.$router.push('/about')

// 带查询参数
this.$router.push({ path: '/user', query: { id: '123' } })

// 命名路由带参数
this.$router.push({ name: 'user', params: { userId: '123' } })

替换当前路由(不保留历史记录):

vue实现导航跳转

this.$router.replace('/login')

前进/后退导航:

this.$router.go(1)  // 前进
this.$router.go(-1) // 后退

路由守卫控制跳转

全局前置守卫:

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

组件内守卫:

vue实现导航跳转

export default {
  beforeRouteEnter(to, from, next) {
    // 在渲染该组件的对应路由被验证前调用
    next()
  },
  beforeRouteLeave(to, from, next) {
    // 导航离开该组件的对应路由时调用
    next()
  }
}

动态路由匹配

带参数的路由配置:

{
  path: '/user/:id',
  component: User,
  props: true // 将参数作为 props 传递
}

在组件中获取参数:

// 通过 props
props: ['id'],

// 或通过 $route
this.$route.params.id

嵌套路由实现

配置子路由:

{
  path: '/user/:id',
  component: User,
  children: [
    { path: 'profile', component: Profile },
    { path: 'posts', component: Posts }
  ]
}

在父组件中添加 <router-view>

<div class="user">
  <h2>User {{ $route.params.id }}</h2>
  <router-view></router-view>
</div>

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

相关文章

vue的动画实现

vue的动画实现

Vue 动画实现方式 Vue 提供了多种方式实现动画效果,主要通过内置组件和第三方库支持。 使用 Vue 内置过渡组件 Vue 的 transition 和 transition-group 组件可…

vue实现点击跳转路由

vue实现点击跳转路由

Vue 实现点击跳转路由的方法 在 Vue 中实现点击跳转路由可以通过以下几种方式完成,具体取决于项目使用的路由管理工具(通常是 Vue Router)以及需求场景。 使用 router-link…

vue实现签约合作弹窗

vue实现签约合作弹窗

实现签约合作弹窗的步骤 使用Vue实现签约合作弹窗可以通过组件化方式完成,结合模态框和表单交互逻辑。以下是具体实现方法: 1. 创建弹窗组件 新建一个Vue组件文件(如SignContractDi…

vue设计与实现下载

vue设计与实现下载

vue设计与实现电子书下载 《Vue.js设计与实现》是一本深入解析Vue.js框架原理的书籍,由霍春阳(HcySunYang)撰写。以下是获取该资源的常见途径: 正版购买渠道 京东、当当、天…

vue中实现显示和隐藏

vue中实现显示和隐藏

控制显示与隐藏的方法 在Vue中实现元素的显示和隐藏可以通过多种方式完成,以下是常见的几种方法: 1. 使用v-if指令v-if根据条件动态添加或移除DOM元素,适合需要频繁切换的场景。当条件为fa…

vue实现画圆弧并着色

vue实现画圆弧并着色

在 Vue 中实现画圆弧并着色 使用 Canvas API 绘制圆弧 在 Vue 组件的 mounted 钩子中,通过 Canvas API 绘制圆弧。创建一个 canvas 元素并获取其上下文:…