在vue中如按钮、鼠标的事件可以使用v-on指令进行监听。
v-on:click使用
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>学习Vue</title>
<!-- 使用CDN引入Vue.js -->
<script type="text/javascript" src=" https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.8/vue.min.js"></script>
</head>
<body>
<div id="app">
<!-- 这个调用了一个名为clickMe的函数方法,没有传递任何参数 -->
<button type="button" v-on:click="clickMe">点我</button>
<!-- 这个调用了一个名为whoClickMe的函数方法,传递了一个参数 -->
<button type="button" v-on:click="whoClickMe('张三')">点我(传递参数)</button>
</div>
<script type="text/javascript">
var vm = new Vue({
el: '#app',
methods: {
// 名为clickMe的函数方法
clickMe: function() {
alert("你点我了哟!");
},
// 名为whoClickMe的函数方法
whoClickMe: function(name) {
alert(name + ",你点我了哟!");
}
}
});
</script>
</body>
</html>
浏览器效果:
事件修饰符
Vue.js 为 v-on 提供了事件修饰符来处理 DOM 事件细节,如:event.preventDefault() 或 event.stopPropagation()。
Vue.js通过由点(.)表示的指令后缀来调用修饰符。
.stop
.prevent
.capture
.self
.once
按键修饰符
Vue 允许为 v-on 在监听键盘事件时添加按键修饰符:
<!-- 只有在 keyCode 是 13 时调用 vm.submit() -->
<input v-on:keyup.13="submit">
记住所有的 keyCode 比较困难,所以 Vue 为最常用的按键提供了别名:
<!-- 同上 -->
<input v-on:keyup.enter="submit">
<!-- 缩写语法 -->
<input @keyup.enter="submit">
全部的按键别名:
.enter
.tab
.delete
(捕获 "删除" 和 "退格" 键).esc
.space
.up
.down
.left
.right
.ctrl
.alt
.shift
.meta
实例
<p><!-- Alt + C -->
<input @keyup.alt.67="clear">
<!-- Ctrl + Click -->
<div @click.ctrl="doSomething">Do something</div>