当前位置:首页 > VUE

vue实现点击登录

2026-01-19 18:45:34VUE

Vue 实现点击登录功能

创建登录表单组件

在 Vue 项目中创建一个登录表单组件,通常命名为 LoginForm.vue。该组件包含用户名和密码输入框以及登录按钮。

<template>
  <div class="login-form">
    <input v-model="username" type="text" placeholder="用户名" />
    <input v-model="password" type="password" placeholder="密码" />
    <button @click="handleLogin">登录</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      username: '',
      password: ''
    }
  },
  methods: {
    handleLogin() {
      // 登录逻辑
    }
  }
}
</script>

实现登录逻辑

handleLogin 方法中实现登录逻辑,通常包括验证输入、发送登录请求和处理响应。

vue实现点击登录

methods: {
  async handleLogin() {
    if (!this.username || !this.password) {
      alert('请输入用户名和密码');
      return;
    }

    try {
      const response = await axios.post('/api/login', {
        username: this.username,
        password: this.password
      });

      if (response.data.success) {
        localStorage.setItem('token', response.data.token);
        this.$router.push('/dashboard');
      } else {
        alert('登录失败: ' + response.data.message);
      }
    } catch (error) {
      alert('登录请求失败: ' + error.message);
    }
  }
}

添加路由跳转

在 Vue Router 中配置登录后的跳转路由。确保用户登录成功后能够跳转到指定页面。

vue实现点击登录

const router = new VueRouter({
  routes: [
    { path: '/login', component: LoginForm },
    { path: '/dashboard', component: Dashboard, meta: { requiresAuth: true } }
  ]
});

添加导航守卫

使用全局前置守卫检查用户是否已登录,未登录则重定向到登录页面。

router.beforeEach((to, from, next) => {
  const isAuthenticated = localStorage.getItem('token');
  if (to.matched.some(record => record.meta.requiresAuth) && !isAuthenticated) {
    next('/login');
  } else {
    next();
  }
});

样式优化

为登录表单添加基本样式,提升用户体验。

.login-form {
  display: flex;
  flex-direction: column;
  max-width: 300px;
  margin: 0 auto;
}

.login-form input {
  margin-bottom: 10px;
  padding: 8px;
}

.login-form button {
  padding: 10px;
  background-color: #42b983;
  color: white;
  border: none;
  cursor: pointer;
}

测试登录功能

运行项目并测试登录功能是否正常工作。确保输入正确的用户名和密码后能够成功跳转到目标页面,错误的输入则显示相应提示。

标签: vue
分享给朋友:

相关文章

vue实现autocomplete

vue实现autocomplete

Vue 实现 Autocomplete 功能 Vue 中实现 Autocomplete(自动完成)功能可以通过自定义组件或使用现有库完成。以下是几种常见方法: 方法一:使用 Vue 原生实现 创建…

vue实现键盘

vue实现键盘

Vue 实现键盘功能 在Vue中实现键盘功能通常涉及监听键盘事件、处理输入以及渲染虚拟键盘界面。以下是几种常见的实现方式: 监听键盘事件 通过@keydown或@keyup指令监听键盘事件,适用于需…

vue 实现列表

vue 实现列表

Vue 实现列表的方法 在 Vue 中实现列表通常使用 v-for 指令,结合数组或对象数据渲染动态列表。以下是几种常见的实现方式: 基础列表渲染 使用 v-for 指令遍历数组,渲染列表项。ite…

vue实现全屏

vue实现全屏

Vue 实现全屏功能的方法 在 Vue 中实现全屏功能可以通过浏览器提供的 Fullscreen API 来实现。以下是几种常见的实现方式: 使用原生 Fullscreen API 通过调用 doc…

javascript实现vue

javascript实现vue

Vue.js 的基本实现 在 JavaScript 中实现 Vue.js 的核心功能,主要包括数据绑定、响应式系统和虚拟 DOM。以下是一个简化的实现示例。 数据响应式系统 通过 Object.de…

vue实现注销

vue实现注销

实现用户注销功能 在Vue应用中实现用户注销功能通常涉及清除用户会话、重置应用状态并跳转到登录页面。以下是具体实现方法: 清除用户认证信息 使用Vuex或Pinia管理用户状态时,需在注销时重置存储…