Vue基础教程(68)事件处理:Vue事件处理大揭秘!从“点一下”到“玩出花”,让你的网页活起来!

嘿,朋友们!今天咱们来聊点让网页“动起来”的魔法——Vue的事件处理。别被“事件”这词吓到,说白了就是:当用户做了某个动作(比如点击、输入),你的网页该怎么回应?就像你按开关灯会亮,拖进度条视频会跳转,这些全是事件处理的功劳!

在Vue里,处理事件简单到像在点菜:你想响应点击?用@click!想监听输入?用@input!但如果你只停留在“点一下变个颜色”,那可亏大了。Vue的事件系统里藏着一堆宝藏工具,今天我就带你挖个遍!


一、基础入门:从“点一下”开始

先来看最简单的点击事件。假设你有个按钮,点一下就要计数加一,用Vue实现只需几行代码:

<template>
  <div>
    <button @click="count++">你点了我 {
  
  { count }} 次!</button>
  </div>
</template>
<script>
export default {
  data() {
    return {
      count: 0
    }
  }
}
</script>

瞧见没?那个@click="count++"就是Vue的事件监听器。@clickv-on:click的简写(是的,Vue体贴到连打字都帮你省了)。当按钮被点击,它直接执行count++,数据一变,页面自动更新——这就是Vue的响应式魅力!

但实际开发中,我们通常会把复杂逻辑放到方法里:

<template>
  <div>
    <button @click="addCount">点我加1</button>
    <p>计数:{
  
  { count }}</p>
  </div>
</template>
<script>
export default {
  data() {
    return {
      count: 0
    }
  },
  methods: {
    addCount() {
      this.count++
      console.log(`当前计数:${this.count}`)
    }
  }
}
</script>

这里把点击事件绑定到addCount方法。注意:方法不要加括号!除非你需要传递参数(后面会讲)。保持这个好习惯,能避免很多莫名奇妙的bug。


二、事件修饰符:Vue的“贴心小道具”

现在来点进阶内容。假设你有个弹出框,点击按钮打开,点击框外关闭。你会怎么写?传统JS可能要写一堆事件冒泡代码,但在Vue里,几个修饰符就能搞定!

1. 阻止事件冒泡:.stop

事件冒泡是什么?就像你往水里扔石头,波纹会从中心扩散到整个水面。在网页里,点击子元素,事件会向上传递给父元素。有时候这很烦人,比如:

<template>
  <div @click="parentClick">
    父元素
    <button @click="childClick">子按钮</button>
  </div>
</template>
<script>
export default {
  methods: {
    parentClick() {
      alert('父元素被点击了!')
    },
    childClick() {
      alert('子按钮被点击了!')
    }
  }
}
</script>

点击子按钮时,两个alert都会弹出来!要阻止这种情况,只需在子按钮上加.stop

<button @click.stop="childClick">子按钮</button>

现在点击按钮,只有子按钮的事件会触发。就像给事件装了“隔离罩”,让它不会向外扩散。

2. 阻止默认行为:.pr
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

值引力

持续创作,多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值