Объект watch, асинхронные действия в Vue
Vue позволяет определять наблюдаемые свойства или watchers. Наблюдаемые свойства, как правило применяются для выполнения асинхронных действий, особенно таких, которые могут занять продолжительное время, например отправка запроса на сервер.
Для создания наблюдаемого свойства используется параметр watch. В данном случае определяется наблюдаемое свойство promo, которое определено в параметре data. При изменении свойства promo, которое определено в секции data, будет вызываться функция getSale, определенная в параметре methods:
App.vue<script>
export default {
data() {
return {
promo: '',
info: ''
}
},
methods: {
getSale: function (){
setTimeout(() => {
// имитация ajax запроса
this.info = 'Отработал Ajax';
}, 1000);
}
},
watch: {
promo(){
this.getSale();
}
}
}
</script>
<template>
<input type="text" v-model.trim="promo">
<p>{{ info }}</p>
</template>