目录
1、v-on
v-on 指令用于给页面元素绑定事件。语法: v-on: 事件名 ="js 片段或函数名 "事件绑定可以简写,例如 `v-on:click='add'` 可以简写为 `@click='add'`
<!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">
<!--事件中直接写 js 片段-->
<button v-on:click="num++">点赞</button>
<!--事件指定一个回调函数,必须是 Vue 实例中定义的函数-->
<button v-on:click="decrement">取消</button>
<h1>有{
{num}}个赞</h1>
</div>
<script src="../node_modules/vue/dist/vue.js"></script>
<script type="text/javascript">
let vm = new Vue({
el: "#app",
data: {
num: 100
},
methods: {
decrement() {
this.num--; //要使用 data 中的属性,必须 this.属性名
}
}
})
</script>
</body>
</html>
2、事件修饰符
在事件处理程序中调用 `event.preventDefault()` 或 `event.stopPropagation()` 是非常常见的需求。尽管我们可以在方法中轻松实现这点,但更好的方式是:方法只有纯粹的数据逻辑,而不是去处理 DOM 事件细节。为了解决这个问题, Vue.js 为 `v-on` 提供了 事件修饰符 。修饰符是由 点开头的指令后缀 来表示的。- `.stop` :阻止事件冒泡到父元素- `.prevent` :阻止默认事件发生- `.capture` :使用事件捕获模式- `.self` :只有元素自身触发事件才执行。(冒泡或捕获的都不执行)- `.once` :只执行一次
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compat