09-Vue基础之实现注册页面

简介: 09-Vue基础之实现注册页面


对于网页的注册页面想必大家都比较熟悉。每一个注册页面都有大量的表单元素,当用户输入完成页面所有的注册时,单机提交按钮程序将收集所有的注册页面信息,然后将转换成JSON字符串,最后再调用AJAX发送数据到服务器。通过vue的学习,我们将用V-model来完成项目练习

首先通过如下指令创建vue3项目

npm init vite@latest registration-form

一般完成一个注册页面都应该具备如下信息:

  1. 用户名(usernam)
  2. 邮箱(email)
  3. 密码(password)
  4. 手机号(phone)
  5. 性别(gender)
  6. 学历(education)
  7. 同意协议(agree)

用户注册页面

<script setup lang="ts">
import { reactive } from 'vue';
interface User {
  username: string;
  password: string;
  email: string;
  gender: number;
  phone: string;
  education: number;
  agree: boolean;
}
const user = reactive<User>({
  username: '',
  password: '',
  email: '',
  gender: 0,
  phone: '',
  education: 0,
  agree: false,
});
const submit = () => {
  console.log(user);
}
</script>
<template>
  <div id="container">
    <span>用户注册页面</span>
    <form action="">
      <table>
        <tr>
          <td>用户名:</td>
          <td>
            <input type="text" v-model="user.username">
          </td>
        </tr>
        <tr>
          <td>密码:</td>
          <td>
            <input type="password" v-model="user.password">
          </td>
        </tr>
        <tr>
          <td>邮箱</td>
          <td>
            <input type="email" v-model="user.email">
          </td>
        </tr>
        <tr>
          <td>性别</td>
          <td>
            <input type="radio" name="gender" value="1" v-model="user.gender">男
            <input type="radio" name="gender" value="2" v-model="user.gender">女
          </td>
        </tr>
        <tr>
          <td>手机号:</td>
          <td>
            <input type="text" name="" id="" v-model="user.phone">
          </td>
        </tr>
        <tr>
          <td>学历</td>
          <td>
            <select name="education" id="education" v-model="user.education">
              <option value="0">请选择</option>
              <option value="1">博士</option>
              <option value="2">硕士</option>
              <option value="3">学士</option>
              <option value="4">高中</option>
            </select>
          </td>
        </tr>
        <tr>
          <td>
            <input type="checkbox" name="" id="" v-model="user.agree">是否同意<a href="#">网站协议</a>
          </td>
        </tr>
        <tr>
          <td>
            <button type="submit" @click.prevent="submit">提交</button>
          </td>
        </tr>
      </table>
    </form>
  </div>
</template>
<style>
* {
  margin: 0 auto;
  padding: 0;
}
#app {
  font-family: Arial, Helvetica, sans-serif;
  color: #2c3e50;
  margin: 50px;
  border: 1px black solid;
  border-radius: 20px;
  display: flex;
  justify-content: center;
}
form {
  display: flex;
  justify-content: center;
  text-align: justify;
  /* margin-top: 40px; */
}
button{
 position: relative;
 right: -80px;
}
</style>

将每一个表单元素双向绑定了user属性,最后“提交”按钮绑定了一个sumbit方法用来处理表单提交操作,还是用了.prevent修饰符来组织表单默认事件。至此一个简单的表单注册页面完成,大家可以一起练习

运行出来的页面如下:

可以在页面中输入数据,提交用户信息后将传入后台

目录
相关文章
|
27天前
|
JavaScript API 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
29天前
|
JavaScript 前端开发 开发者
vue 数据驱动视图
总之,Vue 数据驱动视图是一种先进的理念和技术,它为前端开发带来了巨大的便利和优势。通过理解和应用这一特性,开发者能够构建出更加动态、高效、用户体验良好的前端应用。在不断发展的前端领域中,数据驱动视图将继续发挥重要作用,推动着应用界面的不断创新和进化。
|
3天前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
27天前
|
JavaScript 前端开发 开发者
Vue是如何劫持响应式对象的
Vue是如何劫持响应式对象的
24 1
|
27天前
|
JavaScript 前端开发 API
介绍一下Vue中的响应式原理
介绍一下Vue中的响应式原理
28 1
|
27天前
|
JavaScript 前端开发 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
27天前
|
存储 JavaScript 前端开发
介绍一下Vue的核心功能
介绍一下Vue的核心功能
|
JavaScript 数据安全/隐私保护
work02_vue页面打印水印
work02_vue页面打印水印
349 0
work02_vue页面打印水印
|
1月前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱前端的大一学生,专注于JavaScript与Vue,正向全栈进发。博客分享Vue学习心得、命令式与声明式编程对比、列表展示及计数器案例等。关注我,持续更新中!🎉🎉🎉
36 1
vue学习第一章
|
1月前
|
JavaScript 前端开发 索引
vue学习第三章
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中的v-bind指令,包括基本使用、动态绑定class及style等,希望能为你的前端学习之路提供帮助。持续关注,更多精彩内容即将呈现!🎉🎉🎉
26 1
vue学习第三章
下一篇
DataWorks