vue事件监听
v-on
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div id="app"> <p>{{count}}</p> <div><input type="button" value="-" v-on:click="sub"> <input type="button" value="+" @click="add"></div> </div> <script src="../js/vue.js"></script> <script> const app = new Vue({ el: "#app", data:{ count:0, }, methods:{ add(){ this.count++ }, sub(){ this.count-- } } }) </script> </body> </html>
v-on参数
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div id="app"> <p>{{count}}</p> <!-- 绑定事件是不需要传参的括号可省略 --> <div> <input type="button" value="按钮1" v-on:click="sub()"> <input type="button" value="按钮2" @click="add"> <!-- 需要传参时,写小括号不写参数,则传参时undefind。 不写小括号则传参点击事件对象 --> <input type="button" value="按钮3" @click="btnclick"> <!-- 传参时需要普通参数和事件对象 $event事件参数 --> <input type="button" value="按钮4" @click="btnclick1('123', $event)"> </div> </div> <script src="../js/vue.js"></script> <script> const app = new Vue({ el: "#app", data:{ count:0, }, methods:{ add(){ this.count++ }, sub(){ this.count-- }, btnclick(da){ console.log(da) }, btnclick1(da, event){ console.log(da, event) } } }) </script> </body> </html>
v-on修饰符
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div id="app"> <!-- 阻止冒泡事件 --> <div @click="divclick"> aaaaaaaaaaa <input value="button" type="button" @click.stop="btmclick"></input> </div> <!-- 表单自己提交 --> <form action="baidu"> <input type="submit" value="提交" @click.prevent="submitclick"> </form> <!-- 监听某个键的键帽 --> <input type="text" @keyup.enter="keyup"></input> <!-- 只触发一次 --> <input value="button" type="button" @click.once="btmclick"></input> </div> <script src="../js/vue.js"></script> <script> const app = new Vue({ el: "#app", data:{ count:0, }, methods:{ btmclick(){ console.log("按钮点击") }, divclick(){ console.log("div点击") }, submitclick(){ console.log("表单提交") }, keyup(){ console.log("键盘抬起") } } }) </script> </body> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话