Académique Documents
Professionnel Documents
Culture Documents
simple : il faut que css html et js, facile a aprendre selon la courbe de
l'apprentissage par rapport a d autres framework
petite taille 16 kb dans la production, rapide utilise le dom virtuel
*installation :
> telecharger la version de dev ou de prod + faire reference a ce fichier js via la
tag script
> via la CDN via la tag script
> npm install vue + faire reference au fichier minifier .vue via la tag script
> npm install -g vue-cli + vue init webpack new-app
*data binding
v-text="name" : comme {{ }} mais remplace tout le contenu du div
{{name}}
v-bind:id="idData" ou bien :id="idData" pour le binding des données avec des
attributs
v-html="htmlData" : i lfaut etre sur du contenu pour eviter tout type d'injection
v-once : pour empecher l'affichage de toute modification exemple : sitewebtitle
*style
v-bind:style="{ color : dataColor }"
v-bind:style="objStyledata"
v-bind:style=[baseStyle, additionalStyle1]
v-bind:class={"available: available, text-center: true, 'float-left': false"}
*events
v-on:x exemple : v-on:click="add" (ou bien @click) v-on:click="dbladd()" v-
on:mousemove (event.offsetX)
*event modifier
v-on:click.once="click"
<a v-on:click.prevent="click" href="www.google.com">go</a>
*keyboard event
<input v-on:keyup="logName"/>
<input v-on:keyup.enter="logName"/>
<input v-on:keyup.alt.enter="logName"/>
=> addA et addB ne sont appele que lorsque la valeur dont elle depends est changer
*architecture
node_modules
package.json
index.html
src : assets, main.js, app.vue
*nested component
- globalement : dans main.js (import Ninjas from 'Ninja.vue' + Vue.component("app-
ninjas", Ninjas)) + appel au niveau du fichier <app-ninjas></app-ninjas>
- localement : dans le fichier concerné : import Ninjas from './Ninja.vue' +
components: { 'app-ninjas': Ninjas } + <app-ninjas></app-ninjas>
</style>
*props:
props:[ name ]
props: {
name: {
type: string,
required: true
}
}
*two components(c1 et c2) : const bus = new Vue() + import bus from '' dans c1 +
import bus from '' dans c3 +
bus.$emit('changeTitle', 'newTitle') + created() { bus.on('changeTitle',
(newTitle) => { this.title = newTitle })}
<keep-alive>
<component v-bind:"compoentName">/<component>
</keep-alive>
<h1>{{title | to-uppercase}}</h1>
Vue.filter('to-uppercase', function(value) {
return value.toUpperCase()
}
*mixins : permet d'eviter la reecriture d'un code, partage d'un traitement computed