Vue.js почему функция «updateXY» вызывается с «событием» в качестве параметра?

#javascript #vue.js #frontend

#javascript #vue.js #интерфейс

Вопрос:

Итак, недавно я начал изучать Vue.js фреймворк и я нашли фрагмент кода. Я не знаю, почему "updateXY" функция вызывается с "event" параметром as, даже если он не указан.

index.html

 <div id="vue-app">
    <div id="canvas" v-on:mousemove="updateXY">
      ({{ x }}, {{ y }}) 
    </div>
</div>
  

app.js

 new Vue({
el: "#vue-app",
data: {
    x: 0,
    y: 0
},
methods: {
  updateXY: function (event) {
    console.log(event);
  }
}
  

});

Ответ №1:

Вы указываете, какая функция должна вызываться событием.

Отправитель события решает, какие (и сколько) параметров передавать.

Объявление параметра вашей функции — это способ для вас получить доступ к переданным параметрам, а не способ ограничить доступ к вызову функции.

Функция в JS может быть вызвана с любым количеством параметров, независимо от объявления. Все они доступны через arguments переменную.

Ответ №2:

Иногда внутри функции-обработчика событий вы можете увидеть параметр, указанный с таким именем, как event, evt или просто e. Это называется объектом event и автоматически передается обработчикам событий для предоставления дополнительных функций и информации.

Пожалуйста, обратитесь к документации по обработчикам событий