回忆一下我们使用js实现点击事件的方法:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>v-on</title>
</head>
<div id="app">
<input id="btn" type="button" value="按钮">
</div>
<body>
<script src="lib/vue.js"></script>
<script>
document.getElementById('btn').onclick = function () {
alert('Hello')
}
</script>
</body>
</html>
这种实现方式操作了DOM,前文中提到,Vue不推荐操作DOM,Vue提供了一个不需要操作DOM就可以实现事件的指令——v-on
。使用方法如下:
<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>v-on</title>
</head>
<div id="app">
<input v-on:click="show" type="button" value="按钮">
</div>
<body>
<script src="lib/vue.js"></script>
<script>
var vm = new Vue({
el: '#app',
methods:{ // 这个methods属性中定义了当前Vue实例所有可用的方法
show:function () {
alert('Hello')
}
}
})
</script>
</body>
</html>
注意:
- Vue实例中的所有方法都放在
methods
下 - 使用
v-on:click
绑定一个methods
下的方法 v-on:click
可以更改为任意浏览器中常用的事件,如v-on:mouseover
v-on:
可以缩写为@
,即v-on:click
缩写为@click
推荐阅读:
Vue系列教程(一)基础介绍
Vue系列教程(二)v-cloak、v-text、v-html的基本使用
Vue系列教程(三)v-bind指令
Vue系列教程(四)v-on指令定义事件
Vue系列教程(五)跑马灯效果案例
Vue系列教程(六)事件修饰符
Vue系列教程(七)v-model和双向数据绑定