当前位置:首页 > VUE

vue实现登陆

2026-03-28 20:43:55VUE

Vue 登录功能实现

环境准备
确保已安装 Vue CLI 或通过 CDN 引入 Vue,项目需包含 Vue Router(用于页面跳转)和 Axios(用于 HTTP 请求)。

基础结构
创建登录组件 Login.vue,包含表单元素:

<template>
  <div>
    <form @submit.prevent="handleSubmit">
      <input v-model="username" placeholder="用户名" type="text" required />
      <input v-model="password" placeholder="密码" type="password" required />
      <button type="submit">登录</button>
    </form>
    <p v-if="errorMessage">{{ errorMessage }}</p>
  </div>
</template>

数据绑定与逻辑
<script> 中定义响应式数据和提交方法:

<script>
export default {
  data() {
    return {
      username: '',
      password: '',
      errorMessage: ''
    }
  },
  methods: {
    async handleSubmit() {
      try {
        const response = await axios.post('/api/login', {
          username: this.username,
          password: this.password
        });
        localStorage.setItem('token', response.data.token);
        this.$router.push('/dashboard'); // 跳转到主页
      } catch (error) {
        this.errorMessage = '登录失败,请检查凭证';
      }
    }
  }
}
</script>

路由配置
router/index.js 中设置登录路由和路由守卫:

const routes = [
  { path: '/login', component: Login },
  { path: '/dashboard', component: Dashboard, meta: { requiresAuth: true } }
];

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

样式优化
添加基础样式提升用户体验:

<style scoped>
form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 300px;
  margin: 0 auto;
}
input, button {
  padding: 8px;
}
button {
  background-color: #42b983;
  color: white;
  border: none;
}
</style>

关键点说明

vue实现登陆

  • 使用 v-model 实现双向数据绑定
  • @submit.prevent 阻止表单默认提交行为
  • 通过 Axios 发送 POST 请求并处理响应
  • 路由守卫保护需认证的页面
  • Token 存储至 localStorage 用于持久化登录状态

标签: vue
分享给朋友:

相关文章

vue实现刷新

vue实现刷新

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

vue实现回复

vue实现回复

Vue 实现回复功能 在 Vue 中实现回复功能通常涉及前端表单交互、数据绑定和后端通信。以下是实现回复功能的详细步骤: 数据绑定与表单设计 使用 Vue 的 v-model 绑定回复框的输入内容,…

vue实现页面切换

vue实现页面切换

Vue 实现页面切换的方法 在 Vue 中实现页面切换通常可以通过以下几种方式完成,具体选择取决于项目需求和架构设计。 使用 Vue Router Vue Router 是 Vue.js 官方推荐的…

vue前端实现权限

vue前端实现权限

Vue 前端权限实现方案 路由权限控制 通过 Vue Router 的 beforeEach 钩子实现路由拦截,结合用户角色和权限列表进行校验。在路由配置中添加 meta 字段定义所需权限: con…

vue实现组合查询

vue实现组合查询

vue实现组合查询 组合查询通常涉及多个条件的联合筛选,Vue可以结合计算属性、v-model和数组方法实现高效查询。以下是具体实现方式: 数据准备与绑定 在Vue组件中定义查询条件和数据集合:…

vue自动登录实现

vue自动登录实现

自动登录实现方法 在Vue中实现自动登录功能通常涉及以下几个关键步骤: 使用本地存储保存token 将登录成功后的token保存到localStorage或sessionStorage中,确保浏览器…