Creé un temporizador de cuenta regresiva que disminuye perfectamente un número en la plantilla, pero ahora lo necesito para iniciar una función declarada dentro de los métodos después de que llegue a 0. Intenté verificar si la condición se cumple dentro de los métodos, pero no se inicia. cualquier cosa al llegar a 0.
Aquí está mi index.vue
<template> <div> {{ timerCount }} </div> </template> <script> export default { data(){ return{ timerCount: 60 } }, watch: { timerEnabled(value) { if (value) { setTimeout(() => { this.timerCount = this.timerCount - 1; }, 1000); } }, timerCount: { handler(value) { if (value > 0 && this.timerEnabled) { setTimeout(() => { this.timerCount = this.timerCount - 1; }, 1000); } }, immediate: true }, }, methods:{ launchThis() { // I need this function to be launched if timerCount reaches 0 } } } </script>Cualquier orientación para que funcione será muy apreciada.
Puedes usar algo como esto
<script> export default { watch: { timerCount: { handler(value) { if (value > 0 && this.timerEnabled) { setTimeout(() => { this.timerCount = this.timerCount - 1; }, 1000); } else { this.launchThis() // run your function here } }, immediate: true }, }, } </script>