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">
相关推荐
Mapmost4 分钟前
【高斯泼溅】如何将“歪头”的3DGS模型精准“钉”在地图上,杜绝后续误差?
前端
JellyDDD5 分钟前
h5上传大文件可能会导致手机浏览器卡死,重新刷新的问题
javascript·上传文件
废春啊36 分钟前
前端工程化
运维·服务器·前端
爱上妖精的尾巴37 分钟前
6-9 WPS JS宏Map、 set、get、delete、clear()映射的添加、修改、删除
前端·wps·js宏·jsa
爱分享的鱼鱼1 小时前
对比理解 Vue 响应式 API:data(), ref、reactive、computed 与 watch 详解
前端·vue.js
JS_GGbond1 小时前
【性能优化】给Vue应用“瘦身”:让你的网页快如闪电的烹饪秘籍
前端·vue.js
T___T1 小时前
一个定时器,理清 JavaScript 里的 this
前端·javascript·面试
代码小学僧1 小时前
从 Arco Table 迁移到 VTable:VTable使用经验分享
前端·react.js·开源
微笑的曙光1 小时前
Vue3 环境搭建 5 步走(零基础友好)
前端
不知名用户来了1 小时前
基于vue3 封装的antdv/element-Plus 快速生成增删改查页面
前端