当前位置:首页 > 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 列表实现方法 使用 v-for 指令 v-for 是 Vue 中用于渲染列表的核心指令,基于数据源动态生成 DOM 元素。语法格式为 item in items 或 (item, index)…

vue实现盖章

vue实现盖章

Vue 实现盖章功能 在Vue中实现盖章功能通常涉及前端UI交互,通过Canvas或SVG绘制印章,并允许用户拖拽或点击放置印章。以下是具体实现方法: 使用Canvas绘制印章 通过HTML5的Ca…

vue实现建模

vue实现建模

Vue 实现建模的方法 在 Vue 中实现建模通常涉及数据绑定、组件化和状态管理。以下是几种常见的方法: 数据驱动建模 Vue 的核心是数据驱动视图。通过定义数据模型,Vue 会自动更新 DOM。例…

vue实现 弹窗

vue实现 弹窗

Vue 实现弹窗的基本方法 使用 Vue 实现弹窗可以通过多种方式,包括组件化、指令、插件等。以下是几种常见的实现方法。 组件化实现弹窗 创建一个独立的弹窗组件,通过 props 控制显示与隐藏。…

vue实现导航

vue实现导航

使用 Vue Router 实现导航 Vue Router 是 Vue.js 官方提供的路由管理器,用于构建单页应用(SPA)的导航系统。以下是实现导航的基本步骤。 安装 Vue Router n…

vue广播实现

vue广播实现

vue广播实现 在Vue中实现广播功能可以通过事件总线(Event Bus)或Vuex来完成。以下是两种常见的实现方式: 使用事件总线(Event Bus) 事件总线是一种简单的跨组件通信方式,适用…