VUE基础--事件处理

监听事件

使用 v-on 指令 (简写为 @) 来监听 DOM 事件,并在事件触发时执行对应的 JavaScript。用法:v-on:click="handler" 或 @click="handler"

事件处理器 (handler) 的值可以是:

  1. 内联事件处理器:事件被触发时执行的内联 JavaScript 语句 (与 onclick 类似)。

  2. 方法事件处理器:一个指向组件上定义的方法的属性名或是路径。


内联事件处理器 

<template>
    <button v-on:click="count++">Button</button>
    <p>{{count}}</p>
</template>

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

 

随着对button的点击,下面的数值也随之增加

 


方法事件处理器

随着事件处理器的逻辑变得愈发复杂,内联代码方式变得不够灵活。因此 v-on 也可以接受一个方法名或对某个方法的调用。

<template>
    <button @click=addCount>Button</button>
    <p>{{count}}</p>
</template>

<script>
export default {
    data(){
        return{
            count:0
        }
    },
    // methods中写自定义的函数或是方法
    methods:{
        addCount(){
            // 读取到data中数据的方案 ==> this.count
            this.count++
        }
    }
}
</script>

页面效果与内联事件时的相同

方法事件处理器传递参数:

<template>
    <button @click="addCount('hello')">Button</button>
    <p>{{count}}</p>
</template>

<script>
export default {
    data(){
        return{
            count:0
        }
    },
    methods:{
        addCount(s){
            // 读取到data中数据的方案 ==> this.count
            this.count++;
            console.log(s)
        }
    }
}
</script>

<template>
    <p @click="getNameHander(item,$event)" v-for="item in names">{{item}}</p>
</template>

<script>
export default {
    data(){
        return{
            names:["Jack","John","Mike"]
        }
    },
    methods:{
        getNameHander(name,e){
            // 读取到data中数据的方案 ==> this.count
            console.log(name,e)
        }
    }
}
</script>

点击页面上的名字,在控制台中就会出现相应的信息 

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值