Data-Binding
Associazione di un elemento con una variabile o oggetto javascript ed essere certi che
eventuali cambiamenti vengano propagati alla view agendo sulla variabile.
La modalità più semplice di data-binding è l’interpolazione.
<template>
<h1>{{ title }}</h1>
</template>
Le direttive principali
Sono delle istruzioni che permettono a Vue.js modificare il comportamento degli
elementi HTML di base nel DOM.
Sono sempre precedute dal prefisso v-.
Le principali direttive sono:
●v-for
●v-if , v-else e v-show
●v-model
●v-bind
●v-on
La direttiva v-for
<template>
<div>
<h1>{{ title }}</h1>
<ul>
<li v-for="element in elements">
{{ element.food }}
</li>
</ul>
</div>
</template>
JS
<template>
<span>{{ elementsLength }} elementi nella lista
</span>
</template>
HTML
I components
Consentono di suddividere il codice in moduli riutilizzabili, ognuno con i propri
metodi, proprietà e stili css.
Registrazione globale
Vue.component('my-component', {
// ... options ...
})
Le props e la direttiva v-bind
<script>
...
export default {
props: ['item']
};
</script>
Genitore
(App.vue)
Figlio
(ListItem.vue)
props
Nel component figlio:
JS
<template>
...
<list-item v-bind:item="element"></list-item>
<template>
Nel component padre (app.vue):
HTML
Binding a una classe
<template>
<input type="checkbox" v-model="item.completed">
<span v-bind:class="{ completed: item.completed }">{{ item.food }}</span>
...
</template>
HTML
<script>
...
filters: {
capitalize(item) {
let res = '';
for (let i = 0; i < item.length; i++) {
if(i === 0)
res += item[i].toUpperCase();
else
res += item[i].toLowerCase();
}
return res;
}
</script>
JS
Risultato:
ListItem.vue
ListItem.vue
Quando un tag <style> ha l'attributo scoped, il suo CSS si applica solo agli elementi
del componente corrente.
<template>
...
<button class="completed" v-on:click="showAll=false">
Completati</button>
<template>
HTML
Risultato:
Risultato finale:
App.vue
Conclusioni
❏Vue è un framework con un’architettura concisa che lo rende semplice da comprendere e
facile da sviluppare.
❏La community per Vue è ancora piuttosto piccola. Ha un singolo creatore e molti dei
plug-in sono scritti in cinese. Mancano alcune funzionalità.
❏Vue è la soluzione ideale per progetti semplici che richiedono alte prestazioni, interattività e
facilità di manutenzione.