当前位置:首页 > VUE

vue 怎么实现跳转的

2026-02-22 16:24:28VUE

vue-router 基本跳转方法

安装 vue-router 后,在项目中配置路由表:

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

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

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

声明式导航

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

<router-link to="/about">关于我们</router-link>
<router-link :to="{ name: 'About' }">命名路由跳转</router-link>

编程式导航

在组件方法中使用 router 实例进行跳转:

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

// 对象形式
this.$router.push({ path: '/about' })

// 命名路由
this.$router.push({ name: 'About' })

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

// 替换当前路由(不记录历史)
this.$router.replace('/about')

路由传参方式

通过 params 传递参数:

// 路由配置需要定义参数
{
  path: '/user/:id',
  name: 'User',
  component: User
}

// 跳转时传递
this.$router.push({ name: 'User', params: { id: 123 } })

通过 query 传递参数:

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

动态路由匹配

路由配置中使用动态字段:

{
  path: '/user/:username/post/:post_id',
  component: UserPost
}

在组件中获取参数:

this.$route.params.username
this.$route.params.post_id

导航守卫控制跳转

全局前置守卫:

router.beforeEach((to, from, next) => {
  // 必须调用 next()
  if (to.name !== 'Login' && !isAuthenticated) next({ name: 'Login' })
  else next()
})

组件内守卫:

beforeRouteEnter(to, from, next) {
  // 在渲染该组件的对应路由被验证前调用
  next(vm => {
    // 通过 `vm` 访问组件实例
  })
}

路由懒加载

通过动态导入实现路由懒加载:

vue 怎么实现跳转的

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

{
  path: '/user/:id',
  component: UserDetails
}

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

相关文章

vue实现适老化样式

vue实现适老化样式

Vue 实现适老化样式的关键方法 全局字体与字号调整 通过 CSS 变量或主题配置统一放大基础字号,建议正文不小于 18px,标题更大。在 App.vue 中设置全局样式: :root { --…

vue使用vr实现标注

vue使用vr实现标注

Vue 中使用 VR 实现标注的方法 在 Vue 项目中结合 VR 技术实现标注功能,可以通过 WebXR 和 Three.js 等库实现。以下为具体实现方法: 安装依赖 确保项目中已安装 Thre…

vue实现删除

vue实现删除

Vue 实现删除功能的方法 在 Vue 中实现删除功能通常涉及以下几个步骤: 数据绑定与列表渲染 使用 v-for 指令渲染列表数据,并为每个项绑定唯一标识符(如 id)。例如: <…

vue实现博客

vue实现博客

Vue 实现博客的基本步骤 使用 Vue.js 实现一个博客系统可以分为前端和后端两部分。以下是基于 Vue 的前端实现方案,后端可以选择 Node.js、Django 或其他框架。 项目初始化 使…

vue实现ajax

vue实现ajax

Vue 中实现 AJAX 的几种方法 在 Vue 中实现 AJAX 请求可以通过原生 JavaScript 的 XMLHttpRequest、第三方库如 axios 或 fetch API 来完成。以…

vue 实现href

vue 实现href

Vue 实现 href 的方法 在 Vue 中实现 href 功能可以通过多种方式,具体取决于需求场景。以下是几种常见的方法: 使用 <a> 标签 直接使用 HTML 的 <a&g…