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">
相关推荐
程序员阿超的博客24 分钟前
React动态渲染:如何用map循环渲染一个列表(List)
前端·react.js·前端框架
magic 24526 分钟前
模拟 AJAX 提交 form 表单及请求头设置详解
前端·javascript·ajax
小小小小宇5 小时前
前端 Service Worker
前端
只喜欢赚钱的棉花没有糖6 小时前
http的缓存问题
前端·javascript·http
小小小小宇6 小时前
请求竞态问题统一封装
前端
loriloy6 小时前
前端资源帖
前端
源码超级联盟6 小时前
display的block和inline-block有什么区别
前端
GISer_Jing6 小时前
前端构建工具(Webpack\Vite\esbuild\Rspack)拆包能力深度解析
前端·webpack·node.js
让梦想疯狂6 小时前
开源、免费、美观的 Vue 后台管理系统模板
前端·javascript·vue.js
海云前端6 小时前
前端写简历有个很大的误区,就是夸张自己做过的东西。
前端