在html或jsp页面中我们总能碰到监听DOM事件来触发javaScript代码,下面我们就简单聊聊Vue.js中的监听事件是怎么处理的。
在vue.js中监听事件是通过v-on指令来实现的,先看一下简单的监听事件代码。
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="https://www.jb51.net/article/vue.js"></script> </head> <body> <div> <button v-on:click="count += 1">点击测试</button> <p>这个按钮被点击了{{count}}次</p> </div> </body> <script> var vm = new Vue({ el:"#app", data:{ count:0 } }) </script> </html>
下面再看看监听方法事件的代码示例
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="https://www.jb51.net/article/vue.js"></script> </head> <body> <div> <button v-on:click="test">点击测试</button> </div> </body> <script> var vm = new Vue({ el:"#app", data: { name: 'Vue.js' }, // 在 `methods` 对象中定义方法 methods: { test: function (event) { // `this` 在方法里指当前 Vue 实例 alert('Hello ' + this.name + '!') // `event` 是原生 DOM 事件 alert(event.target.tagName) } } }) </script> </html>
内联处理器方法,内联javaScript语句
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="https://www.jb51.net/article/vue.js"></script> </head> <body> <div> <button v-on:click="say('say hello')">say hello</button> <button v-on:click="say('say goodbye')">say goodbye</button> </div> </body> <script> var vm = new Vue({ el:"#app", data: { name: 'Vue.js' }, // 在 `methods` 对象中定义方法 methods: { say:function(message){ alert(message) } } }) </script> </html>