当前位置:首页 > VUE

vue实现切换界面

2026-01-19 00:39:21VUE

路由配置

在Vue项目中实现界面切换通常基于Vue Router。安装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

路由视图占位

在根组件(如App.vue)中使用<router-view>作为动态组件的渲染出口:

<template>
  <div id="app">
    <router-view></router-view>
  </div>
</template>

导航控制

通过<router-link>组件或编程式导航实现界面跳转:

<!-- 声明式导航 -->
<router-link to="/">Home</router-link>
<router-link to="/about">About</router-link>

<!-- 编程式导航 -->
<script setup>
import { useRouter } from 'vue-router'
const router = useRouter()
const goToAbout = () => router.push('/about')
</script>
<button @click="goToAbout">跳转About页</button>

动态路由匹配

需要参数传递时,使用冒号标记动态路径:

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

// 组件内获取参数
import { useRoute } from 'vue-router'
const route = useRoute()
console.log(route.params.id)

导航守卫

通过路由守卫控制切换逻辑,例如验证登录状态:

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

过渡动画

为路由切换添加动画效果:

<router-view v-slot="{ Component }">
  <transition name="fade" mode="out-in">
    <component :is="Component" />
  </transition>
</router-view>

<style>
.fade-enter-active, .fade-leave-active {
  transition: opacity 0.3s;
}
.fade-enter-from, .fade-leave-to {
  opacity: 0;
}
</style>

嵌套路由

实现多级界面切换时,配置children属性:

vue实现切换界面

{
  path: '/user',
  component: User,
  children: [
    { path: 'profile', component: Profile },
    { path: 'settings', component: Settings }
  ]
}

对应模板中需在父组件内添加嵌套的<router-view>

标签: 界面vue
分享给朋友:

相关文章

vue原理实现

vue原理实现

Vue 原理实现的核心机制 Vue.js 的核心原理基于响应式系统、虚拟 DOM 和模板编译。以下是其核心实现机制的分解: 响应式系统 Vue 使用 Object.defineProperty(Vu…

vue 实现modal

vue 实现modal

Vue 实现 Modal 的方法 使用 Vue 原生组件 通过 Vue 的组件系统可以轻松实现 Modal。创建一个可复用的 Modal 组件,通过 props 控制显示与隐藏。 <templ…

vue环境实现

vue环境实现

Vue 环境搭建 安装 Node.js 和 npm Node.js 是运行 Vue 的基础环境,npm 是包管理工具。从 Node.js 官网 下载并安装最新稳定版本。安装完成后,在终端运行以下命令验…

vue实现api

vue实现api

Vue 实现 API 调用 在 Vue 中调用 API 通常涉及使用 axios 或 fetch 发送 HTTP 请求,并结合 Vue 的响应式特性管理数据。以下是常见的实现方式: 安装 axios…

vue实现刷新

vue实现刷新

Vue 实现页面刷新的方法 在Vue中实现页面刷新可以通过多种方式,以下是几种常见的方法: 使用 window.location.reload() 通过调用浏览器的原生方法强制刷新当前页面: me…

vue怎样实现mvvm

vue怎样实现mvvm

Vue 实现 MVVM 的原理 Vue 的 MVVM(Model-View-ViewModel)模式通过数据绑定和响应式系统实现视图与数据的自动同步。以下是 Vue 实现 MVVM 的核心机制: 数…