vue的常用修饰符

概念

在vue中,修饰符将各种dom事件的细节进行封装,使我们在vue开发中更便捷。常见的有表单类的修饰符、事件类的修饰符等

表单修饰符

  • .lazy - input框的v-model每次在input事件改变后更新数据,使用lazy可以在每次change时候刷新数据
  • .trim - input文本自动去除前后空格
  • .number - input文本转换成数值类型
html 复制代码
<input type="text" v-model.number="age"/>
<input type="text" v-model.trim="searchText"/>

事件修饰符

  • .stop:防止事件冒泡,和js的event.stopPropagation() 效果一致
  • .prevent :防止默认的行为,和js的 event.preventDefault() 效果一致(如果事件可取消,则取消该事件,而不停止事件的进一步传播)
  • .capture - 与事件冒泡的方向相反,事件捕获由外到内
  • .self - 只会触发自己范围内的事件,不包含子元素。即event.target本身
  • .once - 只会触发一次
  • .passive - 在移动端监听页面滚动事件的时候,会一直触发onscroll事件导致网页变卡,加上了passive相当于给onscroll使用了lazy懒加载
  • .native - 让组件变成像html内置标签那样,可以监听元素的原生事件
html 复制代码
<el-card @click.native="handleClick"></el-card>
<div @click.stop="edit()"></div>

鼠标按钮修饰符

针对鼠标的按键,只有3个。

  • .left - 左键点击
  • .right - 右键点击
  • .middle - 中间键点击
html 复制代码
<div @click.left="add()"></div>

键盘按键修饰符

主要是用来修饰键盘事件onkeyup、onkeydown的。

  • .keyCode - keyCode包含的按键,包含(enter、tab、delete、space、esc、up、ctrl、alt、meta、shift...)
html 复制代码
// 只有按键为keyCode的时候才触发 
<input type="text" @keyup.keyCode="send()">

v-bind属性修饰符

  • .sync - 对props进行双向绑定,简化了子组件修改父组件参数的方法
  • .prop - 设置自定义的属性,避免暴露数据,污染html结构
html 复制代码
// 父组件
<comp :dialogVisible.sync="dgVisible"></comp> 
// 子组件直接修改父组件的属性
this.$emit('update:dialogVisible', false);

// 自定义属性index
<input value="10" :index.prop="index">
相关推荐
韩曙亮18 分钟前
【Web APIs】元素滚动 scroll 系列属性 ② ( 右侧固定侧边栏 )
前端·javascript·bom·window·web apis·pageyoffset
珑墨19 分钟前
【浏览器】页面加载原理详解
前端·javascript·c++·node.js·edge浏览器
FreeBuf_21 分钟前
Next.js 发布扫描工具:检测并修复受 React2Shell 漏洞(CVE-2025-66478)影响的应用
开发语言·javascript·ecmascript
LYFlied1 小时前
在AI时代,前端开发者如何构建全栈开发视野与核心竞争力
前端·人工智能·后端·ai·全栈
用户47949283569151 小时前
我只是给Typescript提个 typo PR,为什么还要签协议?
前端·后端·开源
馬致远1 小时前
Vue -组件入门
javascript·vue.js·ecmascript
程序员爱钓鱼1 小时前
Next.js SSR 项目生产部署全攻略
前端·next.js·trae
程序员爱钓鱼1 小时前
使用Git 实现Hugo热更新部署方案(零停机、自动上线)
前端·next.js·trae
御形封灵1 小时前
基于原生table实现单元格合并、增删
开发语言·javascript·ecmascript
颜颜yan_2 小时前
DevUI + Vue 3 入门实战教程:从零构建AI对话应用
前端·vue.js·人工智能