Primeiros passos com Vue.js: entendendo o objeto Options
Defina a lógica do seu componente Vue usando o objeto Options.
Vue.js ganhou reputação como uma estrutura JavaScript progressiva. Você pode usar Vue.js para construir aplicativos de página única (SPAs) ou desenvolver interfaces de usuário específicas.
Aqui você aprenderá o básico do Vue.js, incluindo como criar um componente Vue e trabalhar com o objeto de opções para renderizar dados dinâmicos.
Incluindo Vue por meio do link CDN
Vue.js é uma das estruturas JavaScript mais populares. Para começar a usar o Vue e adicioná-lo à sua página HTML, copie a tag de script abaixo e cole-a na seção head:
<script src="<https://unpkg.com/vue@3/dist/vue.global.js>"></script>
Usar o link CDN é uma excelente opção para melhorar o HTML estático ou adicionar funcionalidades ao seu aplicativo.
No entanto, você precisa instalar o Vue.js via npm para usar mais de seus recursos avançados, como a sintaxe Single-File Component (SFC), que é útil ao construir aplicativos Vue completos.
Criando um aplicativo Vue
Acessar a biblioteca Vue através do link CDN fornece um objeto Vue, incluindo o método .createApp().
Como o nome indica, você pode criar um aplicativo Vue usando este método.
Por exemplo:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Vue app</title>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
<script>
const app = Vue.createApp();
</script>
</body>
</html>
Aqui o aplicativo criado é armazenado na variável app. Depois de criar a instância do aplicativo, você deve renderizá-la usando o método .mount(). Este método informa onde montar o aplicativo no Document Object Model (DOM).
Igual a:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Vue app</title>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
<div id="app"></div>
<script>
const app = Vue.createApp();
app.mount("#app");
</script>
</body>
</html>
Para usar o método .mount() do Vue, você deve fornecer um elemento DOM ou seletor como argumento. Neste exemplo, montamos o aplicativo Vue usando o elemento DOM com o ID #app.
É importante observar que o aplicativo Vue controla apenas elementos que foram especificados usando um id. Além disso, o aplicativo não tem controle sobre nada fora desses elementos, incluindo eventos de clique ou qualquer outra interatividade.
A etapa final da criação de um aplicativo Vue é chamar o método .mount() após concluir todas as configurações do aplicativo.
O objeto Opções em Vue
No Vue.js, você usa o objeto Options como um objeto de configuração para criar uma instância ou componente do Vue.
É uma parte essencial de uma aplicação Vue, pois define o comportamento e os dados de cada instância ou componente. O objeto Options consiste em diversas propriedades que representam vários aspectos da instância ou componente.
Algumas das propriedades comumente usadas no objeto Options são:
- dados: Esta propriedade define o objeto de dados para as aplicações Vue. É uma função que retorna um objeto que contém as propriedades dos dados e seus valores iniciais.
- métodos: A propriedade métodos do objeto Options contém funções vitais para ativar a renderização dinâmica.
- template: Esta propriedade define o template HTML para a instância ou componente Vue. É uma string contendo a marcação HTML, que o compilador de template do Vue pode analisar.
Observe que ao usar uma propriedade de modelo, o compilador Vue renderizará apenas o conteúdo definido no modelo.
Aqui está um exemplo de um aplicativo Vue com as propriedades dados, métodos e modelo:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Vue app</title>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
<div id="app">
<h1 @click="reverseMessage" >{{ text }}</h1>
</div>
<script>
const app = Vue.createApp({
// template: '<h1>Welcome to your Vue app</h1>',
data() {
return {
text: "This is your Vue App"
};
},
methods: {
reverseMessage () {
this.text = this.text.split('').reverse().join('')
}
}
});
app.mount("#app");
</script>
</body>
</html>
Este programa representa um aplicativo Vue básico que exibe o texto "Este é o seu aplicativo Vue" usando interpolação de texto e permite que os usuários cliquem nele para reverter a mensagem.
A função data() retorna um objeto com uma única propriedade chamada texto. A diretiva @click é usada para anexar um método reverseMessage() ao elemento , que inverte o texto propriedade.
Ao executar este programa, o aplicativo Vue criado ficará assim:
Clicar no texto irá revertê-lo.
Observe que o programa comentou a propriedade do modelo para permitir que o conteúdo do aplicativo Vue seja renderizado. Se não for comentado, este aplicativo Vue mostrará apenas uma propriedade do modelo:
Existem outras propriedades como props e computed, que você também pode utilizar para criar aplicativos Vue poderosos e flexíveis ao configurar o objeto Options.
Interpolação de texto em Vue
A interpolação de texto no Vue é um recurso que permite vincular dados a elementos HTML dinamicamente. Em outras palavras, permitirá que você gere diretamente o valor das propriedades de dados de uma instância Vue no HTML.
Para obter interpolação de texto no Vue, você precisa colocar o nome da propriedade de dados entre chaves duplas. Vue interpreta o conteúdo entre chaves duplas como expressões JavaScript e os substitui pelo valor resultante.
Por exemplo:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Vue app</title>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
<div id="app">
<h1>{{ message }}</h1>
<p>Welcome {{ name }}</p>
</div>
<script>
const app = Vue.createApp({
data() {
return {
message: "This is your Vue app.",
name: "Noble",
};
},
});
app.mount("#app");
</script>
</body>
</html>
Neste exemplo, a interpolação de texto vincula as propriedades message e name do objeto de dados retornado na instância Vue a e < elementos fortes>
. Depois que o aplicativo Vue é montado, ele exibe os valores das propriedades message e name no HTML em suas respectivas posições.
Você também pode exibir o resultado de uma chamada de método ou executar operações básicas de JavaScript entre chaves duplas:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Vue app</title>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
<div id="app">
<h1>{{ message }}</h1>
<h3>Welcome {{ name.toUpperCase() }}</h3>
<p>There are {{ nameLength() }} letters in your name.</p>
</div>
<p>not here</p>
<script>
const app = Vue.createApp({
data() {
return {
message: "This is your Vue App",
name: "Noble Okafor",
};
},
methods: {
nameLength() {
return this.name.length - 1;
},
},
});
app.mount("#app");
</script>
</body>
</html>
Neste exemplo, o aplicativo Vue possui um objeto dados que contém duas propriedades: mensagem e nome.
Dentro do aplicativo Vue, os três elementos HTML exibem dados usando a instância Vue. O elemento h1 exibe o valor da propriedade message, enquanto o elemento h3 exibe o valor da propriedade name com um método toUpperCase() aplicado a ele.
O elemento p exibe o resultado retornado do método nameLength() definido no objeto methods do aplicativo Vue. O método nameLength() retorna o comprimento da propriedade name subtraído por um.
Para acessar um valor do objeto de dados no objeto de métodos, você precisa usar a palavra-chave this. esta palavra-chave refere-se à instância Vue atual e permite acessar suas propriedades e métodos de dentro da instância Vue. Ao usar this, você pode recuperar o valor da propriedade name e realizar quaisquer manipulações necessárias nela usando os métodos.
Este aplicativo Vue demonstra como vincular dados a elementos HTML usando interpolação de texto e como definir e chamar métodos em uma instância Vue.
Construa seu front-end usando Vue
Neste artigo, você aprendeu como começar a trabalhar com Vue e interpolar texto com a sintaxe de template do Vue. Você pode acessar vários outros recursos no Vue, como diretivas e ganchos de ciclo de vida, tornando-o uma excelente escolha para construir aplicativos front-end dinâmicos.