当前位置:首页 > VUE

vue中实现路由跳转

2026-01-21 01:59:22VUE

vue-router 基础用法

安装 vue-router 依赖包

npm install vue-router

在 main.js 中引入并配置路由

import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from './views/Home.vue'

Vue.use(VueRouter)

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

const router = new VueRouter({
  routes
})

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

声明式导航

使用 router-link 组件创建导航链接

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

添加 active-class 指定激活样式

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

编程式导航

在组件方法中使用 this.$router.push

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

使用命名路由跳转

vue中实现路由跳转

this.$router.push({ name: 'user', params: { userId: '123' } })

带查询参数跳转

this.$router.push({ path: 'register', query: { plan: 'private' } })

路由传参

通过 params 传递参数

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

// 跳转方式
this.$router.push({ path: `/user/${userId}` })

通过 props 解耦

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

// 组件接收
props: ['id']

导航守卫

全局前置守卫

vue中实现路由跳转

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

组件内守卫

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

路由懒加载

使用动态导入实现懒加载

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

const router = new VueRouter({
  routes: [{ path: '/users/:id', component: UserDetails }]
})

嵌套路由

配置子路由

const routes = [
  {
    path: '/user/:id',
    component: User,
    children: [
      {
        path: 'profile',
        component: UserProfile
      }
    ]
  }
]

在父路由组件中添加 router-view

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

标签: 跳转路由
分享给朋友:

相关文章

php实现跳转

php实现跳转

PHP 实现页面跳转的方法 在 PHP 中实现页面跳转有多种方式,以下是常见的几种方法及其适用场景: 使用 header() 函数 通过 header() 函数发送 HTTP 头部信息实现跳转。注意…

vue实现前端路由

vue实现前端路由

Vue 前端路由实现方法 Vue 前端路由可以通过 vue-router 库实现,这是 Vue 官方推荐的路由解决方案。 安装 vue-router 通过 npm 或 yarn 安装 vue-rou…

vue实现路由管理

vue实现路由管理

Vue 路由管理实现方法 Vue 路由管理通常通过 vue-router 库实现,以下是具体实现方式: 安装 vue-router 通过 npm 或 yarn 安装最新版本: npm instal…

vue如何实现跳转

vue如何实现跳转

Vue 实现页面跳转的方法 在 Vue 中实现页面跳转可以通过以下几种方式,具体取决于项目结构和需求。 使用 router-link 组件 router-link 是 Vue Router 提供的组…

vue实现路由后退

vue实现路由后退

路由后退的实现方法 在Vue中实现路由后退功能,可以通过Vue Router提供的方法来完成。以下是几种常见的实现方式: 使用router.go()方法 // 在组件中调用 this.$route…

vue动态路由实现

vue动态路由实现

Vue 动态路由实现方法 动态路由是 Vue Router 的核心功能之一,允许根据参数动态匹配路由。以下是几种常见实现方式: 路由参数动态匹配 在路由配置中使用冒号 : 定义动态参数: cons…