Como trabalhar com Vue.js Data Binding
A vinculação de dados é um dos principais recursos do Vue.js que permite que os desenvolvedores conectem o modelo de dados à camada de visualização. Ele permite que você mantenha seus dados e elementos DOM sincronizados com o mínimo de esforço. O Vue.js fornece diferentes tipos de técnicas de vinculação de dados, incluindo vinculação de dados unidirecional e bidirecional, para tornar o desenvolvimento mais eficiente e reativo.
Neste artigo, exploraremos como trabalhar com vinculação de dados no Vue.js, abordando vinculação de dados unidirecional, vinculação de dados bidirecional e exemplos práticos de cada uma.
Tipos de vinculação de dados em Vue.js
O Vue.js oferece dois tipos principais de vinculação de dados:
- Ligação de dados unidirecional: Os dados fluem em uma única direção, do modelo de dados do componente para a visualização.
- Ligação de dados bidirecional: Os dados fluem em ambas as direções, do modelo de dados para a exibição e de volta da exibição para o modelo de dados.
Ligação de dados unidirecional com v-bind
A vinculação de dados unidirecional no Vue.js é obtida usando a diretiva v-bind
. Essa diretiva vincula dinamicamente um atributo a uma expressão em seus dados. Ela é comumente usada para vincular atributos HTML como src
, href
, alt
e mais.
Aqui está um exemplo de uso de v-bind
para vincular o atributo src
de um elemento de imagem:
<template>
<div>
<img v-bind:src="imageUrl" alt="Dynamic Image" />
</div>
</template>
<script>
export default {
data() {
return {
imageUrl: 'https://example.com/image.jpg'
};
}
};
</script>
A abreviação para v-bind
é dois pontos (:
). O exemplo acima pode ser reescrito como:
<img :src="imageUrl" alt="Dynamic Image" />
Ligação de dados bidirecional com v-model
A vinculação de dados bidirecional no Vue.js é obtida usando a diretiva v-model
. Ela cria uma vinculação entre um elemento de entrada de formulário e o modelo de dados, permitindo que as alterações sejam refletidas automaticamente nos dados e na visualização.
Aqui está um exemplo de uso de v-model
para vinculação de dados bidirecional com um elemento de entrada:
<template>
<div>
<input v-model="message" placeholder="Enter your message" />
<p>Your message is: {{ message }}</p>
</div>
</template>
<script>
export default {
data() {
return {
message: ''
};
}
};
</script>
Neste exemplo, conforme você digita no campo de entrada, a propriedade de dados message
é atualizada automaticamente, e o elemento <p>
exibe o valor atualizado em tempo real.
Vinculando elementos de formulário com v-model
A diretiva v-model
pode ser usada com vários elementos de formulário, como caixas de seleção, botões de opção e seleções. Aqui estão alguns exemplos:
Vinculação de caixa de seleção
<template>
<div>
<input type="checkbox" v-model="isChecked" /> Checked: {{ isChecked }}
</div>
</template>
<script>
export default {
data() {
return {
isChecked: false
};
}
};
</script>
Ligação de botão de rádio
<template>
<div>
<input type="radio" id="option1" value="Option 1" v-model="selectedOption" />
<label for="option1">Option 1</label>
<br>
<input type="radio" id="option2" value="Option 2" v-model="selectedOption" />
<label for="option2">Option 2</label>
<p>Selected: {{ selectedOption }}</p>
</div>
</template>
<script>
export default {
data() {
return {
selectedOption: ''
};
}
};
</script>
Selecionar encadernação
<template>
<div>
<select v-model="selectedValue">
<option disabled value="">Please select one</option>
<option>Option A</option>
<option>Option B</option>
</select>
<p>Selected: {{ selectedValue }}</p>
</div>
</template>
<script>
export default {
data() {
return {
selectedValue: ''
};
}
};
</script>
Ligação de dados única com v-once
A diretiva v-once
é usada para vincular dados a uma visualização apenas uma vez. Após a renderização inicial, quaisquer alterações no modelo de dados não serão refletidas na visualização. Isso é útil para conteúdo estático que não precisa ser reativo:
<template>
<div v-once>
This content is rendered only once: {{ message }}
</div>
</template>
<script>
export default {
data() {
return {
message: 'Hello, Vue.js!'
};
}
};
</script>
Resumo
A vinculação de dados do Vue.js é um recurso poderoso que permite que os desenvolvedores criem aplicativos dinâmicos e interativos com o mínimo de esforço. Ao entender e aproveitar os diferentes tipos de técnicas de vinculação de dados, como vinculação unidirecional com v-bind
, vinculação bidirecional com v-model
e vinculação única com v-once
, você pode criar aplicativos mais eficientes e responsivos.