1.表单修饰符;
2.事件修饰符;
3.按键修饰符,其中包含特殊修饰符:
系统修饰键,
.exact修饰符;
4.鼠标按钮修饰符;
5.其他修饰符,包含:
.sync,
.prop,
.camel
1) .trim: 去除仅首尾的空格
2) .lazy: 不让表单外双向绑定的数据实时接收表单内数据并更新,而是blur(失焦)后更新
3) .number: 如果你先输入数字,那它就会限制你输入的只能是数字;如果你先输入字符串则该修饰符失效
1) .stop: 阻止事件冒泡(相当于event.stopPropagation()方法)
2) .prevent: 阻止默认行为(例如submit的提交行为,相当于event.preventDefault()方法)
3) .self: 用self修饰符的元素不会受其他关联元素上的事件所影响(例如事件冒泡机制)
注意: @click.prevent.self 会阻止所有的点击,而 @click.self.prevent 只会阻止对元素自身的点击。也就是从左往右判断
4) .once: 使被修饰的事件仅触发一次
5) .capture: 捕获.即 使被修饰事件改变默认的冒泡阶段触发,而是在捕获阶段触发
6) .passive: 移动端用到的,防止监听元素滚动事件时网页卡顿(类似.lazy防止热更新), 大大减少事件触发,提升移动端性能
7) .native: 针对原生事件在外来组件上无法生效的问题,可以理解为该修饰符的作用就是把一个vue组件转化为一个普通的HTML标签. 注意:使用.native修饰符来操作普通HTML标签是会令事件失效的
1) .keyCode: 让键盘事件在指定的keyCode值被触发时触发,至于keyCode值,可以监听键盘事件去methods上打印e.target查阅,也可查看ASCII码表
2) 为了方便我们使用,vue给一些常用的键提供了别名
普通键:
.enter
.tab
.delete
(捕获“删除”和“退格”键).esc
.space
.up
.down
.left
.right
系统修饰键:
.ctrl
.alt
.shift
.meta
3) .exact: 主要用来制作快捷键
1) .sync:用法:
//父组件
<comp :myMessage.sync="bar"></comp>
//子组件
this.$emit('update:myMessage',params);
简化了父子传递事件时父组件的代码,当然方便之余 相应的也有一定限制:
2) .prop: 用于纠正所绑定的值绑定到property,避免绑定到dom节点的attribute
<input id="uid" title="title1" value="1" :index.prop="index">
//input.index === this.index
//input.attributes.index === undefined
3) .camel: 也是起到一个纠正作用,由于HTML特性不区分大小写
<svg :viewBox="viewBox"></svg>
实际渲染效果:
<svg viewbox="viewBox"></svg>
这将导致渲染失败,因为 SVG 标签只认 viewBox,却不知道 viewbox 是什么。 如果我们使用.camel修饰符,那它就会被渲染为驼峰名。 另,如果你使用字符串模版,则没有这些限制:
new Vue({
template: '<svg :viewBox="viewBox"></svg>'
})
本篇大部分参考了https://segmentfault.com/a/1190000016786254 ,其中有详细解说和大量案例。此文仅供速查
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/227285.html原文链接:https://javaforall.cn