事件指令

事件指令

概念

<!-- v-on: 指令 简写 @ -->
<!-- 不传参时候件绑定,但事件回调方法可以获取事件对象 -->
<p @click="fn"></p>
<!-- ()可以传入具体实参 -->
<p @click="fn()"></p>
<!-- ()情况下,事件对象应该显式传入 -->
<p @click="fn(19,$event)"></p>

详细代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>事件指令</title>
    <style>
        [aaa*='2'] {
            color: red;
        }
        [v-cloak] {
            display: none;
        }
    </style>
</head>
<body>
    <div id="app" v-cloak aaa="123">
        <!-- v-on指令: 1)明确事件名 2)明确事件函数  v-on:事件名="事件函数"  -->

        <!--1、基础的事件绑定-->
        <p v-on:click="clickAction">单击</p>
        <p v-on:dblclick="dblclickAction">双击</p>

        <!--2、绑定事件并传参-->
        <ul>
            <li v-on:click="liAction(0)">{{ li1 }}</li>
            <li v-on:click="liAction(1)">222</li>
            <li v-on:click="liAction(2)">333</li>
        </ul>

        <!--3、传递事件对象两种方式-->
        <p v-on:click="sysAction1">不传自定义参数,默认自动传递时间</p>
        <p v-on:click="sysAction2(888, $event)">传自定义参数,需要$event明确指出传在哪里传事件对象</p>

        <!--4、v-on: 可以简写为 @ -->
        <p @click="clickAction">单击</p>
    </div>
</body>
<script src="js/vue.js"></script>
<script>
    new Vue({
        el: '#app',
        data: {
              li1: '111'
        },
        methods: {
            clickAction: function () {
                alert('点击')
            },
            dblclickAction () {
                alert('双击')
            },
            liAction (index) {
                // alert('li被点击了');
                // alert(this.li1);
                alert(index);
            },
            sysAction1 (ev) {
                console.log(ev)
            },
            sysAction2 (num, ev) {
                console.log(num);
                console.log(ev);
            }

        }

    })
</script>
</html>
posted @ 2019-09-02 11:55  张明岩  阅读(321)  评论(0编辑  收藏  举报