当前位置:首页 > VUE

vue实现登录路由

2026-02-19 04:23:51VUE

实现登录路由的基本步骤

安装Vue Router依赖,确保项目已初始化并安装了Vue.js。通过npm或yarn添加Vue Router:

npm install vue-router

在项目中创建路由配置文件(通常为router/index.js),引入Vue和Vue Router,并定义路由规则:

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

const routes = [
  {
    path: '/login',
    name: 'Login',
    component: Login
  }
]

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

export default router

创建登录组件

viewscomponents目录下创建登录组件(如Login.vue),包含表单和提交逻辑:

<template>
  <div>
    <form @submit.prevent="handleLogin">
      <input v-model="username" placeholder="用户名" />
      <input v-model="password" type="password" placeholder="密码" />
      <button type="submit">登录</button>
    </form>
  </div>
</template>

<script>
export default {
  data() {
    return {
      username: '',
      password: ''
    }
  },
  methods: {
    handleLogin() {
      // 验证逻辑和API调用
      this.$router.push('/dashboard') // 登录成功后跳转
    }
  }
}
</script>

配置全局路由守卫

router/index.js中添加导航守卫,实现登录状态验证和重定向:

router.beforeEach((to, from, next) => {
  const isAuthenticated = localStorage.getItem('token') // 假设用token验证
  if (to.name !== 'Login' && !isAuthenticated) {
    next({ name: 'Login' }) // 未登录跳转到登录页
  } else {
    next()
  }
})

集成路由到主应用

main.js中导入并挂载路由实例:

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'

const app = createApp(App)
app.use(router)
app.mount('#app')

添加路由视图和导航

App.vue中放置<router-view>显示路由组件,并可添加导航链接:

<template>
  <div>
    <router-link to="/login">登录</router-link>
    <router-view></router-view>
  </div>
</template>

可选:路由懒加载

优化性能时,可使用懒加载动态导入登录组件:

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

vue实现登录路由

标签: 路由vue
分享给朋友:

相关文章

vue 实现toast

vue 实现toast

vue 实现 toast 的方法 在 Vue 中实现 Toast 提示功能可以通过多种方式,以下是几种常见的实现方法: 使用第三方库 Vue 生态中有许多成熟的 Toast 库,例如 vue-toa…

代码实现vue

代码实现vue

创建Vue项目 使用Vue CLI快速初始化项目,确保已安装Node.js和npm/yarn: npm install -g @vue/cli vue create my-vue-project…

vue树形实现

vue树形实现

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

vue compile 实现

vue compile 实现

Vue 编译实现原理 Vue 的编译过程将模板字符串转换为渲染函数,主要分为解析、优化和代码生成三个阶段。 解析阶段(Parse) 将模板字符串转换为抽象语法树(AST)。Vue 使用正则表达式和…

vue实现长按

vue实现长按

Vue 实现长按功能的方法 在 Vue 中实现长按功能可以通过原生事件监听或自定义指令完成。以下是几种常见实现方式: 使用原生事件监听 通过 @mousedown 和 @mouseup 或 @t…

vue 实现搜索

vue 实现搜索

实现 Vue 搜索功能 在 Vue 中实现搜索功能通常涉及以下几个关键步骤: 数据绑定与输入监听 使用 v-model 双向绑定搜索输入框的值,监听用户输入: <template>…