前端流行框架Vue3教程:3. 事件处理(2)事件参数

(2)事件参数

事件参数可以获取 event 对象和通过事件传递数据

1. 获取event对象

<script>
export default{
    data(){
        return {
            count: 0
        }       
    },

    methods:{
        	// event对象
            addCount(e){
                // Vue的event对象,就是原生JS中的event对象
                console.log(e.target) // 获取当前点击的元素
                e.target.innerHTML = 'Add'+this.count // 修改当前点击元素的内容
                this.count++
            }
        }
    }
</script>
<template>
<h3>内联事件处理</h3>
<button @click="addCount">Add</button>
<p>{{ count }}</p>
</template>

2. 传递参数

<script>
export default{
    data(){
        return {
            count: 0
        }       
    },

    methods:{
            addCount(msg){
                console.log(msg)
                this.count++
            }
        }
    }
</script>
<template>
<h3>内联事件处理</h3>
<button @click="addCount('hello')">Add</button>
<p>{{ count }}</p>
</template>

3. 获取列表里的内容

<script>
export default{
    data(){
        return {
            names:['zhangsan','lisi','wangwu']
        }       
    },

    methods:{
        getNameHandle(name){
                console.log(name)
            }
        }
    }
</script>
<template>
<h3>内联事件处理</h3>
<!-- 当前元素的点击事件,打印当前元素的name -->
<p @click="getNameHandle(name)" v-for="(name,index) of names" :Key="index">{{ name }}</p>
</template>

4. 传递参数过程中获取event

<script>
export default{
    data(){
        return {
            names:['zhangsan','lisi','wangwu']
        }       
    },

    methods:{
        getNameHandle(name,e){
                console.log(name)
                console.log(e.target)
            }
        }
    }
</script>
<template>
<h3>内联事件处理</h3>
<!-- 当前元素的点击事件,打印当前元素的name 和点击事件对象 -->
<p @click="getNameHandle(name,$event)" v-for="(name,index) of names" :Key="index">{{ name }}</p>
</template>
原文链接:,转发请注明来源!