Vue知识总结

Vue基础知识(四) - 事件绑定

2022-09-09  本文已影响0人  SingingHan

Vue要绑定事件需要使用 "v-on" 这个指令
比如我们要使用点击事件,可以这样书写:
<button v-on:click="事件方法">按钮</button>

Vue的事件绑定包括以下内容:
(1) 基本写法与语法糖
<button v-on:click="btnClick">按钮</button>
<button @click="btnClick">按钮</button>
<button @click="console.log('按钮发生了点击')">按钮</button>
<div v-on="{ click: divClick, mousemove: divMousemove }">我是div</div>
 // 或
<div @="{ click: divClick, mousemove: divMousemove }">我是div</div>
(2) 绑定事件如何传递参数
<button @click="btn1Click">按钮1</button>

const app = Vue.createApp({
  // methods: option api
  methods: {
    // 1.默认参数: event对象
    btn1Click(event) {
      console.log('btn1Click', event);
    }
});

app.mount('#app');

点击后效果如下:

image.png

总结: 在绑定事件的时候, 没有传递任何参数, 那么event对象会被默认传递进来
注意: 不能方法后面不能携带括号, 不然获取到的event对象是undefined!

<button @click="btn2Click('zhangsan', age)">按钮2</button>
// 1.创建app
const app = Vue.createApp({
  // data: option api
  data() {
    return {
      age: 18
    }
  },
  // methods: option api
  methods: {
    // 2.明确的参数
    btn2Click(name, age) {
      console.log('btn2Click', name, age);
    }
  }
});

app.mount('#app');

点击效果如下:

image.png

注意: 传递的参数可以来着data中的变量

<button @click="btn3Click('why', age, $event)">按钮3</button>

const app = Vue.createApp({
  // data: option api
  data() {
    return {
      age: 18
    }
  },
  // methods: option api
  methods: {
    btn3Click(name, age, event) {
      console.log('btn3Click', name, age, event);
    }
  }
});

app.mount('#app');

点击效果如下:

image.png
(3) 绑定事件的修饰符

v-on是支持修饰符的,修饰符相当于对事件进行了一些特殊的处理:
修饰符如下(了解即可):

 <div @click="divClick">
    <!-- 阻止冒泡 -->
    <button @click.stop="btnClick">按钮</button>
 </div>
// 1.创建app
const app = Vue.createApp({
  // data: option api
  data() {
    return {
      message: 'Hello Vue'
    }
  },
  methods: {
    btnClick() {
      console.log('btnClick');
    },
    divClick() {
      console.log('divClick');
    }
  }
});

app.mount('#app');

没有写入".stop"的效果如下:

image.png
写入".stop"后,阻止了冒泡, 效果如下:
image.png

以上就是事件绑定的全部内容,谢谢观看!

上一篇 下一篇

猜你喜欢

热点阅读