O Vue.js é um framework JavaScript progressivo para criar interfaces dinâmicas e aplicações de página única (SPA). Ele é fácil de integrar em projetos existentes e oferece uma curva de aprendizado suave, sendo ideal para iniciantes e desenvolvedores experientes.
Criando Arquivos Vue
Para criar um arquivo Vue no editor de código:
Acesse uma pasta no menu lateral.
Clique em Adicionar arquivo .
Selecione a extensão Vue , nomeie o arquivo e clique em Adicionar arquivo .
Os arquivos Vue são automaticamente compilados em Javascript e importados na página, prontos para uso.
Estrutura Básica de um Componente
Um componente Vue básico:
< template >
< div >
< h1 > { { message } } </ h1 >
< button @click="changeMessage">Clique aqui</button>
</div>
</template>
<script>
export default {
data () {
return {
message : "Olá, Vue.js!" ,
};
},
methods : {
changeMessage () {
this . message = "Você clicou no botão!" ;
},
},
} ;
</script>
<style scoped >
button {
background - color : #42 b983 ;
color : # fff ;
border : none ;
padding : 10 px 20 px ;
cursor : pointer ;
}
</ style >
Funcionalidades Principais
Reatividade
O Vue usa a função data
para gerenciar propriedades reativas:
export default {
data () {
return {
count: 0 ,
};
} ,
methods: {
increment () {
this . count ++ ;
},
} ,
} ;
No template:
< div >
< p > { { count } } </ p >
< button @click="increment">Adicionar</button>
</div>
Diretivas no Template
Manipule o DOM com diretivas:
v-if
e v-else
: Renderizam condicionalmente.
v-for
: Itera sobre listas.
v-bind
: Vincula atributos dinamicamente.
v-on
: Escuta eventos.
Exemplo:
< template >
< ul >
< li v-for = "item in items" :key="item.id">{{ item.name }}</li>
</ul>
<button @click="addItem">Adicionar Item</button>
</template>
<script>
export default {
data () {
return { items : [{ id: 1 , name: "Item 1" }] };
},
methods : {
addItem () {
const id = this . items . length + 1 ;
this . items . push ({ id , name: `Item ${ id } ` });
},
},
} ;
</script>
Divida sua aplicação em componentes reutilizáveis.
Componente Pai:
< template >
< div >
< ChildComponent :title="message" @update="updateMessage" />
</ div >
</ template >
< script >
import ChildComponent from "./ChildComponent.vue";
export default {
components : { ChildComponent },
data () {
return { message : "Mensagem do Pai" };
},
methods : {
updateMessage ( newMessage ) {
this . message = newMessage ;
},
},
} ;
</ script >
Componente Filho (ChildComponent.vue)
:
< template >
< div >
< h2 > {{ title }} </ h2 >
< button @click = "$emit('update', 'Nova Mensagem do Filho')" >
Atualizar
</ button >
</ div >
</ template >
< script >
export default {
props: [ "title" ] ,
} ;
</ script >
O Vue.js é flexível e poderoso, ideal para criar interfaces dinâmicas e interativas. Para mais detalhes, consulte a documentação oficial do Vue.js .