Каждый раз, когда свойство или функция `Vue instance` изменяется, некоторые методы выполняются. Пожалуйста, объясните это поведение - PullRequest
0 голосов
/ 10 июля 2020

https://jsfiddle.net/Arpan_Banerjee7/bfnL50vs/1/

Я поделился ссылкой на JSFiddle, вы можете увидеть демонстрацию там. Всякий раз, когда вы mousemove в последнем абзаце, координаты меняются, и это регистрируется, как ожидалось.

Но я заметил довольно странное поведение.

Я заметил, что всякий раз, когда выполняется функция changeCoordinates(), также выполняются две другие функции в рамках метода - randomNumber() и testFunction().

Откройте консоль dev tools>, чтобы просмотреть журналы testFunction().

Все ли методы выполняются всякий раз, когда выполняется какой-либо из методов?

Не могли бы вы объяснить это?

1 Ответ

2 голосов
/ 10 июля 2020

См. https://vuejs.org/v2/guide/computed.html#Computed -Caching-vs-Methods

In comparison, a method invocation will always run the function whenever a re-render happens.

Таким образом, всякий раз, когда ваши значения X или y изменяются, на странице вызывается повторная визуализация и запускаются методы , поскольку они вызываются из шаблона.

В вашем случае кажется, что «все методы» выполняются, но это просто потому, что все методы присутствуют в шаблоне. Методы запускаются только при явной активации либо кодом в другом методе, либо вызовом из шаблона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...