Vue 基础:指令、事件与表单

📂 前端学习

Vue 基础:指令、事件与表单

vue是渐进式的javascript框架
vue核心特性对dom操作的依赖减少了

vite是前端构建工具
npm是node.js的包管理器
assets是物料包

默认插值会转义html 需要v-html标签
v-bind可以实现标签的属性绑定(如果标签有多个属性也可以分别绑定)
class可以有多个类名 空格隔开 这些类名都有效 为了复用样式
v-on绑定事件

常用的事件汇总

事件触发时机典型场景
click单击鼠标按钮提交、跳转、开关
dblclick双击鼠标编辑条目、放大图片
mouseenter鼠标进入元素(不冒泡悬停显示提示、高亮
mouseleave鼠标离开元素(不冒泡隐藏提示、取消高亮
mouseover鼠标进入元素(冒泡与 mouseenter 类似但会冒泡
mouseout鼠标离开元素(冒泡与 mouseleave 类似
mousemove鼠标在元素内移动拖拽、绘图、跟随效果
mousedown鼠标按下(未松开)拖拽开始、按住连击
mouseup鼠标松开拖拽结束
keyup 是键盘事件,在用户松开键盘按键时触发

常用事件修饰符
.stop组织冒泡
.prevent组织默认行为
.once只触发一次
.enter按enter触发

botton

type

作用典型场景
submit提交表单(默认值,在 <form> 内时)登录、注册、搜索
reset重置表单(清空所有表单字段)清空表单
button普通按钮(无默认行为)自定义交互、弹窗、跳转

disabled —— 禁用按钮

autofocus —— 页面加载时自动获得焦点

name —— 按钮名称(配合表单提交)

value —— 按钮的值(配合表单提交)

form —— 指定按钮所属的表单(即使不在表单内部)

formaction —— 覆盖表单的 action 地址

formenctype —— 覆盖表单的编码方式(文件上传时用)

formmethod —— 覆盖表单的提交方法

formnovalidate —— 跳过表单验证

formtarget —— 指定提交结果的打开位置

tabindex —— Tab 键切换顺序

v-model双向绑定
实际是把值赋给了value 同时监听了对应标签的事件
对于type="number" 需要v-model.number来绑定

表单元素共有属性(input、textarea、select、button 等)

属性作用示例使用频率
name表单字段名称(提交时作为 key)<input name="username">⭐⭐⭐⭐⭐
value字段的值<input value="张三">⭐⭐⭐⭐⭐
disabled禁用(不可交互)<input disabled>⭐⭐⭐⭐
required必填(表单验证)<input required>⭐⭐⭐⭐
autofocus页面加载后自动聚焦<input autofocus>⭐⭐⭐
autocomplete自动补全(on/off)<input autocomplete="off">⭐⭐⭐
form关联到指定表单(by id)<input form="myForm">⭐⭐
readonly只读(不可编辑,但可选中)<input readonly>⭐⭐⭐
placeholder输入提示文本<input placeholder="请输入">⭐⭐⭐⭐⭐

input的type

type 值作用移动端键盘使用场景
text单行文本输入(默认值)标准字母键盘用户名、标题、地址
password密码输入(字符被掩码隐藏)标准字母键盘登录/注册密码
email邮箱地址字母键盘 + @ 和 . 快捷键邮箱输入
tel电话号码数字键盘手机号、座机
url网址链接字母键盘 + / 和 . 快捷键网站地址输入
search搜索框(带清除按钮)标准字母键盘 + 搜索按钮搜索功能
type 值作用特点使用场景
number数字输入框有上下箭头按钮,移动端弹出数字键盘年龄、数量、价格
range滑块滑动选择数值,移动端触摸友好音量、亮度、价格区间
type 值作用显示效果使用场景
date日期选择器(年-月-日)日历弹窗生日、开始日期
datetime-local本地日期+时间日期+时间选择器会议时间、预约
month月份选择(年-月)月份选择器账单月份
week周选择(年-第几周)周选择器排期、计划
time时间选择(时:分)时间选择器闹钟、时刻
type 值作用特点使用场景
checkbox复选框可多选,选中提交 value 值同意协议、多选爱好
radio单选框同 name 组内互斥性别、支付方式
type 值作用特点使用场景
file文件上传可配合 accept 限制类型头像上传、附件
image图片按钮(点击提交表单)可设置 src 显示图片图形化提交按钮
color颜色选择器弹出颜色面板主题色、字体颜色
type 值作用特点使用场景
button普通按钮无默认行为,需 JS 绑定事件自定义交互
submit提交按钮点击提交所在表单表单提交
reset重置按钮清空/重置表单所有字段清空表单
image图片按钮带图片的提交按钮(同 image图标提交
key绑定item.id但是没有绑定index 因为 index 是动态变化的。当数组发生非末尾的插入或删除时,后面所有元素的 index 都会改变。Vue 在更新 DOM 时,会复用带有旧 index 的 DOM 元素,导致视图与数据不匹配(状态错乱),并且会触发不必要的 DOM 更新(性能浪费)。所以,必须使用数据中唯一且稳定的标识,比如后端返回的 id,来作为 key