代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>事件的基本事件</title>
<script src="../js/vue.js"></script>
</head>
<body>
<div id="root">
<h2>欢迎来到{{name}}学习</h2>
<button v-on:click="showInfo1">点我提示信息1(不传参)</button>
<!-- 简写 -->
<button @click="showInfo2($event,66,$event)">点我提示信息2(传参)</button>
</div>
<script>
const vm = new Vue({
el: '#root',
data: {
name: "尚硅谷"
},
methods: {
showInfo1(event) {
// console.log(event.target.innerText);
alert('同学你好1');
// console.log(this);此处this是vm
},
showInfo2(a, number, event) {
// console.log(event.target.innerText);
// console.log(number,a);
alert('同学你好2');
}
}
})
</script>
</body>
</html>
总结:
事件的基本使用:
1,使用v-on:xxx 或 @xxx 绑定事件,其中xxx是事件名
2,事件的回调需要配置在methods对象中,最终会在vm上
3,methods中配置的函数,不要用剪头函数,否则this就不是vm了
4,methods中配置的函数,都是被Vue所管理的函数,this的指向是 vm 或 组件实例对象
5,@click=“demo” 和 @click="demo($event)"效果一致,但是后者可以传参
6,注意函数在插值语法和绑定事件中的不同写法:
插值语法:{{xxx()}}
绑定事件:@click=“xxx”,xxx是函数名
7,showInfo(event){console.log(event.target.innerText)}可输出按钮中的内容