参考記事:https://segmentfault.com/a/1190000015852875
https://segmentfault.com/a/1190000008457972
バブリングパフォーマンス:
<div v-for="(item, index) in listData" @click="handleClick3">
<el-col :span="grid">
<div @click="handleClick1"></div>
</el-col>
<el-col @click="handleClick2">
</el-col>
</div>
ここでパフォーマンスをバブリングすることにより、ユーザは、イベント1またはイベント2の領域をクリックしたときに、3つのイベントが実行されるということです。時間は、メカニズムをバブリング「handleClick3」を対応させていただきます「handleClick1」をクリックする有力ためです。これは望ましくない時間のほとんどは、同じことが、私はここにしたくありません。
のVueのソリューション
<div v-for="(item, index) in listData" @click="handleClick3">
<el-col :span="grid">
<div @click.stop="handleClick1"></div>
</el-col>
<el-col @click.stop="handleClick2">
</el-col>
</div>
バブルに加えて、VUE修飾はまた、これらの機能を提供します。
<!-- 阻止单击事件继续传播 -->
<a v-on:click.stop="doThis"></a>
<!-- 提交事件不再重载页面 -->
<form v-on:submit.prevent="onSubmit"></form>
<!-- 修饰符可以串联 -->
<a v-on:click.stop.prevent="doThat"></a>
<!-- 只有修饰符 -->
<form v-on:submit.prevent></form>
<!-- 添加事件监听器时使用事件捕获模式 -->
<!-- 即元素自身触发的事件先在此处处理,然后才交由内部元素进行处理 -->
<div v-on:click.capture="doThis">...</div>
<!-- 只当在 event.target 是当前元素自身时触发处理函数 -->
<!-- 即事件不是从内部元素触发的 -->
<div v-on:click.self="doThat">...</div>