Tengo un objeto ref focus = ref<number>(0) vinculado al valor de un grupo de botones de opción.
<radio-button-group v-model="focus">
y agrego un reloj al objeto ref. Cada vez que cambia el valor del objeto ref (es decir, haga clic en otro botón), activa el evento A .
watch(focus, () => { A(focus' value)// it should be noted that, at this step, //focus' value has already changed }) Sin embargo, quiero activar el evento A incluso si hago clic en el botón ya seleccionado. Y en esta situación, use el valor sin cambios de focus como parámetro A
Pero cuando hice clic en el botón ya seleccionado, dado que el valor del focus del objeto ref no cambia, no activaría el watch .
Creo que si adjunto una func a cada botón de opción, y la función es como
if(clickedSameButton) then A(focus' value) Pero no sé cómo implementar la condición if(clickedSameButton) .
Si solo adjunto ciegamente func como
if(clickedButton) then A(focus' value) No funcionará, ya que no puede saber si el valor de enfoque es el valor anterior o el valor nuevo (si hizo clic en un botón diferente) cuando la función func se ejecuta en la rama then , debido a la ejecución asíncrona de javascript.
Por ejemplo, digamos que el valor actual del foco es 1, y el botón seleccionado actual es 1, cuando hago clic en el botón 2, en la función descrita anteriormente
if(clickedButton) then A(focus' value) No se puede saber si se pasa 1 o 2 a A