vue阻止默认事件
有一天,当回顾自己走过的路时,你会发现这些奋斗不息的岁月,才是最美好的人生。——弗洛伊德
今天写一个页面的时候,遇到一个问题

这是一个简单的elementUI的折叠面板
我在自定义标题里加了个el-link标签,执行一个函数,打印一句话
代码
| <!-- --> | 
但是当我用@click触发这个函数的时候
发现折叠面板也被折叠了

试了好几种办法都不行
结果后来在前端同事的帮助下习得了一个妙招
只需要把@click改成@click.stop就行了
@click.stop是停止冒泡
关于v-on,官方文档已经给出
v-on
- 缩写: - @
- 预期: - Function | Inline Statement | Object
- 参数: - event
- 修饰符: - .stop- 调用- event.stopPropagation()。
- .prevent- 调用- event.preventDefault()。
- .capture- 添加事件侦听器时使用 capture 模式。
- .self- 只当事件是从侦听器绑定的元素本身触发时才触发回调。
- .{keyCode | keyAlias}- 只当事件是从特定键触发时才触发回调。
- .native- 监听组件根元素的原生事件。
- .once- 只触发一次回调。
- .left- (2.2.0) 只当点击鼠标左键时触发。
- .right- (2.2.0) 只当点击鼠标右键时触发。
- .middle- (2.2.0) 只当点击鼠标中键时触发。
- .passive- (2.3.0) 以- { passive: true }模式添加侦听器
 
- 用法: - 绑定事件监听器。事件类型由参数指定。表达式可以是一个方法的名字或一个内联语句,如果没有修饰符也可以省略。 - 用在普通元素上时,只能监听原生 DOM 事件。用在自定义元素组件上时,也可以监听子组件触发的自定义事件。 - 在监听原生 DOM 事件时,方法以事件为唯一的参数。如果使用内联语句,语句可以访问一个 - $eventproperty:- v-on:click="handle('ok', $event)"。- 从 - 2.4.0开始,- v-on同样支持不带参数绑定一个事件/监听器键值对的对象。注意当使用对象语法时,是不支持任何修饰器的。
- 示例: - <!-- 方法处理器 --> 
 <button v-on:click="doThis"></button>
 <!-- 动态事件 (2.6.0+) -->
 <button v-on:[event]="doThis"></button>
 <!-- 内联语句 -->
 <button v-on:click="doThat('hello', $event)"></button>
 <!-- 缩写 -->
 <button @click="doThis"></button>
 <!-- 动态事件缩写 (2.6.0+) -->
 <button @[event]="doThis"></button>
 <!-- 停止冒泡 -->
 <button @click.stop="doThis"></button>
 <!-- 阻止默认行为 -->
 <button @click.prevent="doThis"></button>
 <!-- 阻止默认行为,没有表达式 -->
 <form @submit.prevent></form>
 <!-- 串联修饰符 -->
 <button @click.stop.prevent="doThis"></button>
 <!-- 键修饰符,键别名 -->
 <input @keyup.enter="onEnter">
 <!-- 键修饰符,键代码 -->
 <input @keyup.13="onEnter">
 <!-- 点击回调只会触发一次 -->
 <button v-on:click.once="doThis"></button>
 <!-- 对象语法 (2.4.0+) -->
 <button v-on="{ mousedown: doThis, mouseup: doThat }"></button>- 在子组件上监听自定义事件 (当子组件触发“my-event”时将调用事件处理器): - <my-component @my-event="handleThis"></my-component> 
 <!-- 内联语句 -->
 <my-component @my-event="handleThis(123, $event)"></my-component>
 <!-- 组件中的原生事件 -->
 <my-component @click.native="onClick"></my-component>
- 参考: 
无论用什么框架,看官方文档总是最香的~哈哈
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 蒋立坤的博客!
 评论
Va







