Salve, João!
Uma das alternativas para que você alcance seu objetivo seria elevar o estado do <Temporizador />
para o <Formulario />
.
Ou seja:
data () {
return {
tempoEmSegundos: 0,
cronometroRodando: false,
cronometro: 0
}
},
Controlar esse estado (como mostrado acima) pelo <Formulario />
e passar via props para o <Temporizador />
.
De forma que o método finalizar, dentro do <Temporizador />
, fique assim:
finalizar () : void {
this.$emit('aoFinalizarTarefa', this.tempoEmSegundos)
}
E todo o restante passe a ser feito pelo <Formulario />
.
Assim, o Temporizador passar a ser o que chamamos de componentes visuais, ou dumb components. Ele apenas exibe os dados passados para ele via props
.
Assim você tem a indicação que o cronômetro está rodando e pode então desabilitar o input
:)