当前位置:首页 > VUE

vue实现简单登录

2026-01-18 08:54:11VUE

使用 Vue 实现简单登录功能

创建 Vue 项目

确保已安装 Vue CLI,通过以下命令创建新项目:

vue create vue-login-demo

选择默认配置或手动配置(如 Babel、Router 等)。

设计登录页面

src/components 下创建 Login.vue 文件,包含表单和基础样式:

vue实现简单登录

<template>
  <div class="login-container">
    <h3>用户登录</h3>
    <form @submit.prevent="handleSubmit">
      <div class="form-group">
        <label>用户名</label>
        <input v-model="username" type="text" required />
      </div>
      <div class="form-group">
        <label>密码</label>
        <input v-model="password" type="password" required />
      </div>
      <button type="submit">登录</button>
    </form>
  </div>
</template>

<script>
export default {
  data() {
    return {
      username: '',
      password: ''
    }
  },
  methods: {
    handleSubmit() {
      console.log('登录信息:', this.username, this.password)
      // 后续添加验证逻辑
    }
  }
}
</script>

<style scoped>
.login-container {
  max-width: 300px;
  margin: 0 auto;
  padding: 20px;
}
.form-group {
  margin-bottom: 15px;
}
</style>

添加路由配置

修改 src/router/index.js,将登录页面设置为路由:

import Login from '../components/Login.vue'

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

实现登录逻辑

handleSubmit 方法中模拟登录验证:

vue实现简单登录

methods: {
  handleSubmit() {
    if (this.username === 'admin' && this.password === '123456') {
      alert('登录成功')
      this.$router.push('/') // 跳转到首页
    } else {
      alert('用户名或密码错误')
    }
  }
}

状态管理(可选)

如需全局管理登录状态,可使用 Vuex:

// src/store/index.js
export default new Vuex.Store({
  state: {
    isLoggedIn: false,
    user: null
  },
  mutations: {
    loginSuccess(state, user) {
      state.isLoggedIn = true
      state.user = user
    }
  }
})

在登录成功后调用:

this.$store.commit('loginSuccess', { username: this.username })

表单验证增强

添加基础表单验证规则:

data() {
  return {
    username: '',
    password: '',
    errors: {}
  }
},
methods: {
  validateForm() {
    this.errors = {}
    if (!this.username) this.errors.username = '请输入用户名'
    if (!this.password) this.errors.password = '请输入密码'
    return Object.keys(this.errors).length === 0
  },
  handleSubmit() {
    if (!this.validateForm()) return
    // 剩余登录逻辑...
  }
}

完整示例结构

vue-login-demo/
├── src/
│   ├── components/
│   │   └── Login.vue
│   ├── router/
│   │   └── index.js
│   └── store/
│       └── index.js (可选)

通过以上步骤可实现包含路由跳转、表单验证和状态管理的登录功能。实际项目中需替换模拟数据为真实 API 调用,并考虑添加 Token 存储等安全措施。

标签: 简单vue
分享给朋友:

相关文章

vue路由实现内部切换

vue路由实现内部切换

Vue 路由实现内部切换的方法 Vue Router 是 Vue.js 官方的路由管理器,用于实现单页应用(SPA)的页面切换。以下是几种常见的内部路由切换方式: 使用 <router-li…

vue实现闪烁

vue实现闪烁

Vue实现元素闪烁效果 使用CSS动画实现 通过Vue绑定class结合CSS动画实现闪烁效果,代码简洁且性能较好。 <template> <div :class="{ 'b…

vue实现新闻

vue实现新闻

Vue 实现新闻功能 使用 Vue 实现新闻功能通常涉及新闻列表展示、新闻详情页、分类筛选等模块。以下是实现的基本思路和代码示例。 新闻列表展示 通过 Vue 组件展示新闻列表,通常使用 v-fo…

vue 实现滚动

vue 实现滚动

实现滚动的基本方法 在Vue中实现滚动效果可以通过多种方式完成,包括使用原生JavaScript、CSS或第三方库。以下是一些常见的方法: 使用window.scrollTo方法实现页面滚动 可以…

vue实现oauth

vue实现oauth

Vue 实现 OAuth 的步骤 安装必要的依赖 确保项目中安装了 axios 和 vue-router。OAuth 通常需要发送 HTTP 请求和处理路由跳转。 npm install axio…

vue实现toggle

vue实现toggle

Vue 实现 Toggle 功能 在 Vue 中实现 toggle(切换)功能可以通过多种方式完成,以下是几种常见的方法: 使用 v-model 和 v-on 通过 v-model 绑定数据,结合…