vue学习(9)事件处理

2022-02-18  本文已影响0人  哆啦C梦的百宝箱
<!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>事件处理</title>
</head>

<body>
    <div id="root">
        <h2>欢迎来学习{{name}}</h2>
        <button v-on:click="showInfo">点我提示信息(不传参)</button>
        <button @click="showInfo2(66,$event)">点我提示信息1(传参)</button>
    </div>
    <script src="../js/vue.js"></script>
    <script type="text/javascript">
        Vue.config.productionTip = false;
        new Vue({
            el: '#root',
            data: {
                name: 'vue'
            },
            methods: {
                showInfo(event) {
                    console.log(event.target.innerText);
                    console.log(this);//此处的this指vue实例。
                    alert('同学你好');
                },
                showInfo2(number,event){
                    console.log(number,event);
                }
            }
        })
    </script>
</body>

</html>
知识点

1:事件默认接收一个参数,事件对象Event, 常用到的属性target,拿到事件目标,就是绑定事件的那个dom元素。
2:vue模板只能用vue实例里面的东西。比如把方法写到全局,仍然会检测说没有定义。
3:事件的基本使用
(1):使用v-on:xxx或者@xxx绑定事件,xxx是事件名称。
(2):事件的回调需要配置到methods,最终会在vm实例上。
(3):methods中配置的函数,不要使用箭头函数!,否则this指向的就不是vm实例。
(4):methods中配置的函数,都是vm被所管理的函数,this的指向是vm或组件实例对象。
(5):@click="demo"和@click="demo($event)"效果一致,只是后者可以传参。

上一篇下一篇

猜你喜欢

热点阅读