6.Vue事件绑定指令

it2023-05-17  76

1. v-on指令

.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 事件时,方法以事件为唯一的参数。如果使用内联语句,语句可以访问一个 $event property:v-on:click=“handle(‘ok’, $event)”。从 2.4.0 开始,v-on 同样支持不带参数绑定一个事件/监听器键值对的对象。注意当使用对象语法时,是不支持任何修饰器的
2. 代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Vue事件绑定指令</title> <script src="./js/vue.js"></script> </head> <body> <div id="app"> {{msg}} <!-- v-on此指令用于绑定事件采用的是addEventListener方式来绑定 只会绑定一次 格式v-on:事件名称="仓库方法名称" --> <input type="button" value="事件绑定1" v-on:click="print(),show()"/> <input type="button" value="事件绑定2" v-on:click="[show(),print()]"/> <input type="button" value="事件绑定3" v-on:click="print()" v-on:mousedown="show()"/> <input type="button" value="事件绑定4" v-on="{click:show,mousedown:print}"/> <!--行内表达式--> <input type="button" value="事件绑定5" @click="setMsg()"/> <input type="button" value="事件绑定6" @click="msg='123'"/> </div> </body> <script> new Vue({ el:"#app", data:{ msg:"旧参数" }, methods:{ //key:value key为方法名称,value为方法主体 show:function(){ console.log("vue中的show"); }, print:function(){ console.log("vue中的print"); }, setMsg:function(){ this.msg="新参数" } } }); </script> </html>

3. 运行结果

最新回复(0)