v-on
指令是事件绑定指令,当用户需要点击,按下键盘,滚动鼠标等操作时,想要添加一些自己的逻辑处理时,就可以为特定的元素绑定一些特定的事件。
我们先在被vue
实例挂载的标签div
中,放入一个按钮为input
标签,在标签内部写入v-on
指令,冒号(:
)后面就是事件名,等号(=
)后面就是需要绑定的事件名称。
1. v-on怎么使用?
<div id="app"> <input type="button" value="事件绑定" v-on:事件名="方法名"> </div>
2. 事件名到底写什么呢?
假设如果是点击事件就写
click
,如果是鼠标移入事件就写monseenter
,如果是鼠标双击事件就写dblclick
<div id="app"> <input type="button" value="事件绑定" v-on:click="方法名">
<input type="button" value="事件绑定" v-on:mouseenter="方法名">
<input type="button" value="事件绑定" v-on:dblclick="方法名">
</div>
3. 方法名在哪里定义呢?
方法我们写在
methods
里面
<body>
<div id="app">
<input type="button" value="事件绑定" v-on:click="todo">
<input type="button" value="事件绑定" v-on:mouseenter="todo">
<input type="button" value="事件绑定" v-on:dblclick="todo">
</div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js">
</script>
<script>
var app = new Vue({ el:"#app", methods:{ todo:function() { //方法执行的逻辑 } } }) </script>
</body>
4. v-on的简写
从代码中,我们可以发现,在绑定的事件都是v-on
开头,Vue
其实提供了一个简洁的写法,用@
符号替代v-on
<div id="app">
<input type="button" value="事件绑定" @click="todo">
<input type="button" value="事件绑定" @mouseenter="todo">
<input type="button" value="事件绑定" @dblclick="todo">
</div>
5.总结
v-on
指令作用是为元素绑定事件v-on
指令可以简写为@
- 绑定的方法在
methods
中 - 方法内部通过
this
关键字访问定义在data
中的数据