Vue 3 Композиция API - watchEffect Vs watch - PullRequest
3 голосов
/ 03 марта 2020

Итак, я изучал Vue API композиции и мне было интересно, в чем разница между «watchEffect» и «watch». Часы говорят, что они такие же, как часы Vue 2, так что я думаю, что watchEffect похоже на 2.0 этого? Мне интересно, есть ли какие-то конкретные c случаи, когда один имел бы большие преимущества перед другим, как в случае остановки watchEffect, а затем его повторной активации вместо использования логического значения в обычных часах ... или они просто принципиально разные способы написания одного и того же.

Спасибо!

Ссылка:

watcheffect: https://vue-composition-api-rfc.netlify.com/api.html#watcheffect

смотреть: https://vue-composition-api-rfc.netlify.com/api.html#watch

Ответы [ 2 ]

4 голосов
/ 03 марта 2020

watchEffect представляется упрощенным watch, а основные отличия:

  • Принимает только функцию
    • watch может принимать либо функцию, либо одну, либо несколько реактивные свойства.
  • Запускается сразу после определения и при изменении реактивных зависимостей
    • watch запускается только при изменении реактивных зависимостей
0 голосов
/ 01 мая 2020

Я бы использовал:

  • watchEffect, когда я хочу посмотреть несколько реактивных свойств, и мне не нужны старые значения
  • watch, когда я хочу посмотреть один задает c реактивные свойства, и мне может потребоваться старое значение

Обратите внимание, что выше я бы хотел использовать их, но не только их использование.

Также встречается в документы о разнице:

Compared to watchEffect, watch allows us to:

Perform the side effect lazily;
Be more specific about what state should trigger the watcher to re-run;
Access both the previous and current value of the watched state.

Источник: https://composition-api.vuejs.org/api.html#watch

...