Lógica primitiva
A abordagem tradicional
Imagine que sua aplicação deve alternar a visibilidade do campo de CPF e CNPJ com base no campo Tipo de Pessoa que pode ser Pessoa Física ou Pessoa Jurídica. Em uma abordagem tradicional usando tecnologia web teríamos algo parecido com os trechos à seguir.
No HTML:
<div>
<div>Tipo de Pessoa</div>
<label>
<small>Pessoa Física</small>
<input
name="personType"
type="radio"
value="pessoa-fisica"
onchange="changePersonType('pessoa-fisica')"
>
</label>
<label>
<small>Pessoa Jurídica</small>
<input
name="personType"
type="radio"
value="pessoa-juridica"
onchange="changePersonType('pessoa-juridica')"
>
</label>
</div>
<div>
<div>Documento</div>
<label id="CPF">
<small>CPF</small> <input name="CPF">
</label>
<label id="CNPJ">
<small>CNPJ</small> <input name="CNPJ">
</label>
</div>Já no Javascript teríamos algo como:
Para ter um resultado semelhante à:

Como podemos ver acima, há separação entre a apresentação (o HTML) e os comportamentos (o Javascript) na abordagem tradicional quando é feita dessa forma. Seria possível reusar o arquivo script.js desde que o novo index.html se comprometesse à manter uma estrutura parecida com a desta primeira versão.
Como os componentes Vue têm sido construídos
Ao migrar o exemplo anterior para componentes não é incomum termos algo parecido com o que será mostrado à seguir.
Exemplo disponível aqui.
Esta "conversão" tem um inconveniente, o componente passa a ser responsável pela lógica primitiva e pela regra de negócio de definir qual campo será visível.
Last updated
Was this helpful?