html实现vue登陆
HTML 实现 Vue 登录页面
以下是一个简单的 HTML 实现 Vue 登录页面的示例代码,包含基本的表单验证和提交逻辑。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vue Login Page</title>
<!-- 引入 Vue.js -->
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<!-- 引入样式 -->
<style>
body {
font-family: Arial, sans-serif;
background-color: #f4f4f9;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}
.login-container {
background: #fff;
padding: 20px;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
width: 300px;
}
.login-container h2 {
margin-bottom: 20px;
text-align: center;
color: #333;
}
.form-group {
margin-bottom: 15px;
}
.form-group label {
display: block;
margin-bottom: 5px;
color: #555;
}
.form-group input {
width: 100%;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
box-sizing: border-box;
}
.error-message {
color: red;
font-size: 12px;
margin-top: 5px;
}
button {
width: 100%;
padding: 10px;
background-color: #007BFF;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 16px;
}
button:hover {
background-color: #0056b3;
}
</style>
</head>
<body>
<div id="app">
<div class="login-container">
<h2>Login</h2>
<form @submit.prevent="handleSubmit">
<div class="form-group">
<label for="username">Username</label>
<input
type="text"
id="username"
v-model="username"
@blur="validateUsername"
placeholder="Enter your username">
<div class="error-message" v-if="errors.username">
{{ errors.username }}
</div>
</div>
<div class="form-group">
<label for="password">Password</label>
<input
type="password"
id="password"
v-model="password"
@blur="validatePassword"
placeholder="Enter your password">
<div class="error-message" v-if="errors.password">
{{ errors.password }}
</div>
</div>
<button type="submit">Login</button>
</form>
</div>
</div>
<script>
new Vue({
el: '#app',
data: {
username: '',
password: '',
errors: {
username: '',
password: ''
}
},
methods: {
validateUsername() {
if (!this.username) {
this.errors.username = 'Username is required';
} else {
this.errors.username = '';
}
},
validatePassword() {
if (!this.password) {
this.errors.password = 'Password is required';
} else if (this.password.length < 6) {
this.errors.password = 'Password must be at least 6 characters';
} else {
this.errors.password = '';
}
},
handleSubmit() {
this.validateUsername();
this.validatePassword();
if (!this.errors.username && !this.errors.password) {
alert('Login successful!');
// 这里可以添加实际的登录逻辑,比如发送请求到后端
}
}
}
});
</script>
</body>
</html>
代码说明
-
Vue 实例
创建了一个 Vue 实例,绑定到#app元素,管理登录表单的数据和逻辑。 -
数据绑定
使用v-model双向绑定用户名和密码输入框的值到 Vue 实例的data属性。
-
表单验证
validateUsername方法检查用户名是否为空。validatePassword方法检查密码是否为空且长度是否至少为 6 个字符。- 错误信息通过
errors对象动态显示。
-
表单提交

- 使用
@submit.prevent阻止表单默认提交行为。 handleSubmit方法在提交时验证表单,如果验证通过则显示成功提示。
- 使用
-
样式
简单的 CSS 样式使登录页面看起来更美观。
扩展功能
如果需要更复杂的功能,可以考虑以下扩展:
- 添加记住密码功能。
- 集成后端 API 进行实际登录验证。
- 添加加载状态和错误提示。






