Usando <script setup> no vueJS3

No dia a dia do desenvolvimento buscamos sempre escrever menos e entregar mais, no vue3 utilizo do Composition API para buscar alcançar esse objetivo e a um tempo mudei minha abordagem de escrever e definir componentes Vue utilizando da feature <scr…


This content originally appeared on DEV Community and was authored by Italo Barros

No dia a dia do desenvolvimento buscamos sempre escrever menos e entregar mais, no vue3 utilizo do Composition API para buscar alcançar esse objetivo e a um tempo mudei minha abordagem de escrever e definir componentes Vue utilizando da feature <script setup>.

Bau com luz verde

O VueJS 3 introduziu o <script setup>que é um syntax sugar para reduzir a verbosidade no Composition API dentro de componentes de arquivos únicos (SFCs) além de reduzir a verbosidade outros benefícios ele nos traz.

  • Capacidade de declarar props e eventos emitidos usando TypeScript puro
  • Melhor desempenho de tempo de execução.
  • Código mais enxutos com menos clichês

Exemplo de código SEM o <script setup>

Image description

Exemplo de código COM o <script setup>

Image description

Observe como o mesmo código ficou bem mais enxuto!

Ao usar <script setup>, quaisquer “top-level bindings” (incluindo variáveis e declarações de função) declaradas dentro do <script setup> são automaticamente expostas ao template.

Image description

Como também “Importações” podem ser utilizadas diretamente em expressões do template sem precisar expô-la no methods.

Image description

Reatividade

O estado reativo precisa ser criado explicitamente, semelhante ao setup()
refs são automaticamente desempacotadas quando referenciados no template

Image description

Componentes

Só precisamos importá-los no <script setup>, podem ser usados diretamente como tags no nosso template, é fortemente recomendado o uso de “PascalCase” para manter a consistência. Também ajuda a diferenciar dos elementos personalizados nativos.

Image description

Componentes dinâmicos

Como os componentes são referenciados como variáveis, você usa o :is para vinculo dinâmico. Observe que podem ser usadas expressões condicionais.

Image description

Components recursivos

Um componente pode se referir implicitamente a si mesmo por meio de seu nome de arquivo em seu template.
Você também pode utilizar o alias da importação.

Image description

Diretivas Personalizadas

As diretivas personalizadas registradas globalmente funcionam conforme importadas e as locais podem ser usadas diretamente no template.

Mas há uma restrição a ser observada: você deve nomear as diretivas personalizadas locais de acordo com o seguinte esquema: vNonmeDaDirective para que elas possam ser usadas diretamente no modelo.

Image description

Props e emits

Para declaração de props e emits, você de usar o defineProps e defineEmits respectivamente.
O defineProps e defineEmits sao macros do compilador utilizáveis apenas no
<script setup> precisam ser previmente importados.

Image description

defineExpose

Componentes usando <script setup> são fechados por padrão.

Para expor explicitamente as propriedades em um <script setup> use a defineExpose que também é um macro.

Image description

Ciclo de vida do vue com <script setup>

Podemos registrar os hook de ciclo de vida do componente usando métodos onX , que podemos importar da biblioteca.

Image description

Image description

Propriedades Computadas

Podemos declarar uma propriedade computada que é atualizada automaticamente sempre, dependendo da propriedade ou dos dados alterados.

Image description

Propriedades watches

Podemos reagir a alterações de dados através da opção de watches fornecida pelo Vue. Isso é mais útil quando queremos realizar operações assíncronas ou caras em resposta a alterações.

Image description

referências
https://v3.vuejs.org/api/sfc-script-setup.html#basic-syntax

Considerações finais

Agora, com a <script setup> , sinto que meu código esteja mais simplificado, fácil de ler.Essa forma ajuda muito no code review ganhamos tempo. A produtividade vem aumentando de forma consistente, focando no clean code. E com o par com ferramentas como VueUse ou seus próprios /composables essa produtividade só aumenta.

Espero ter ajudado com um pouco de conhecimento a você caro leitor!
y-


This content originally appeared on DEV Community and was authored by Italo Barros


Print Share Comment Cite Upload Translate Updates
APA

Italo Barros | Sciencx (2022-01-12T20:50:15+00:00) Usando <script setup> no vueJS3. Retrieved from https://www.scien.cx/2022/01/12/usando-script-setup-no-vuejs3/

MLA
" » Usando <script setup> no vueJS3." Italo Barros | Sciencx - Wednesday January 12, 2022, https://www.scien.cx/2022/01/12/usando-script-setup-no-vuejs3/
HARVARD
Italo Barros | Sciencx Wednesday January 12, 2022 » Usando <script setup> no vueJS3., viewed ,<https://www.scien.cx/2022/01/12/usando-script-setup-no-vuejs3/>
VANCOUVER
Italo Barros | Sciencx - » Usando <script setup> no vueJS3. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/01/12/usando-script-setup-no-vuejs3/
CHICAGO
" » Usando <script setup> no vueJS3." Italo Barros | Sciencx - Accessed . https://www.scien.cx/2022/01/12/usando-script-setup-no-vuejs3/
IEEE
" » Usando <script setup> no vueJS3." Italo Barros | Sciencx [Online]. Available: https://www.scien.cx/2022/01/12/usando-script-setup-no-vuejs3/. [Accessed: ]
rf:citation
» Usando <script setup> no vueJS3 | Italo Barros | Sciencx | https://www.scien.cx/2022/01/12/usando-script-setup-no-vuejs3/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.