随笔记录1

1、在vue中,对组件事件的监听处理要使用native来修饰,比如

<Child @click.native="onClick()" ></Child>
console.log('父');

不然在调用组件的vue中click是无法触发的。

2、父子组件的点击事件的触发顺序:先子后父

比如:父组件中调用

<Child @click.native="onClick()" ></Child>

子组件中再次定义点击事件

<div id="child" @click.stop="onClick()">
console.log('子');

这样当点击的时候,控制台输出:

但是使用修饰符capture可以修改这个逻辑,顾名思义capture捕获的意思,官方原话:

内部元素触发的事件先在此处理,然后才交由内部元素进行处理

也就是说会先在父层进行响应,然后在传递到子组件,如果你再结合stop,子组件也就无法触发了

<Child @click.native.capture="onClick()" ></Child>

当我们后面加上capture修饰符之后,再看结果:

3、passive修饰符,跟prevent相反,passive的意思是不拦截默认事件

不写prevent不就行了吗,为什么还要专门写个passive呢?

要知道浏览器的内核线程在执行js的时候,只有执行到相应代码的监听时才会执行相应的处理,查看有没有preventDefault阻止默认行为,这样在用户滑动的时候效率会很低,加上passive之后效率就会提高,就相当于告诉线程,你不用找了,我的程序没有阻止默认行为,你放心大胆的执行吧!

因为passive和prevent是两个完全相反的意义,所以不可以一起使用,硬要放一起,prevent就不会起作用了,也就是passive执行等级更高

经常记不住,写一遍,加深下印象!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值