事件修饰符
.stop
阻止事件冒泡。等价于JS中的event.stopPropagation()
.prevent
取消与事件关联的默认行为(例如;单击超链接会跳转),等价于JS中的event.preventDefault()
.capture
添加事件监听器时使用事件捕获模式 (区别于冒泡模式)
.self
event.target是当前元素自身时才触发处理函数,而不是通过冒泡或捕获模式触发
.once
绑定的事件将只触发一次
.passive
主动提示浏览器,没有调用prevent,可以进行事件的默认行为,所以不用去检查了
//常用于@scroll、@touchmove,因为每移动一个像素都会触发一次事件,
//同时浏览器默认每次都会去查询默认行为是否被阻止,这样就会造成大量的查询时间,影响屏幕滑动效果。
//增加passive进行提示,将跳过查询,提高屏幕滑动的流畅度
注意:passive与prevent冲突,不能同时绑定在一个监听器上
按键修饰符
.tab:制表键
.esc:返回键
.enter:回车键
.space: 空格键
.delete:含delete和backspace键
.up/.down/.left/.right:上下左右键
系统修饰符
.exact
//控制仅由所表示的系统修饰符,才能触发相应事件。
//例如:@click.ctrl.exact 表示只有ctrl这一个键被按下时,才能触发事件
//只有下列键处于按下状态时,才会触发相应事件
.ctrl
.alt
.shift
鼠标按钮修饰符
.left/.middle/.right
自定义按键修饰符
Vue.config.keyCodes.自定义修饰符名称 = 键位ASCII码 //可通过event.keyCode获取
.sync
简介:在Vue中,父子组件最常用的通信方式就是通过props进行数据传递,props值只能在父组件中更新并传递给子组件,
在子组件内部,是不允许改变传递进来的props值,这样做是为了保证数据单向流通。但有时候,我们会遇到一些场景,
需要在子组件内部改变props属性值并更新到父组件中,这时就需要用到.sync修饰符。
.sync是一个语法糖。是父组件监听子组件更新某个prop时的缩写语法
:name.sync 等价于 :name="name" @update:name="name = $event"
//子组件中通过$emit触发事件并传参
//父组件中通过$event获取$emit中的参数
参考: