Mini-cours sur vue.js

Les composants

Un composant est composé d'un template (du code HTML), de code CSS et JavaScript. Il a pour but d'être réutilisé dans une autre page (ou un autre composant). Il ressemble donc beaucoup à l'instance racine de Vue.

Toutefois, des différences existent :

Code HTML

<div id="components-demo">
  <button-counter></button-counter>
</div>

Code JS

Vue.component('button-counter', {
  data: function () {
    return {
      count: 0
    }
  },
  template: '<button v-on:click="count++">Vous m\'avez cliqué {{ count }} fois.</button>'
});

var app1 = new Vue({ el: '#components-demo' });

Un composant n'est utile que si des informations peuvent lui être passé. L'option props: permet de déclarer le nom des propriétés du composant.

Vue.component('blog-post', {
  props: ['title'],
  template: '<h3>{{ title }}</h3>'
})

De même que le nom d'un composant est celui d'une balise HTML personnalisée, le nom d'une propriété est le nom d'un attribut personnalisé (propre à la balise HTML personnalisée).

<blog-post title="Mon initiation avec Vue"></blog-post>
<blog-post title="Blogger avec Vue"></blog-post>
<blog-post title="Pourquoi Vue est tellement cool"></blog-post>

Les définitions de prop devraient être aussi détaillées que possible

props: {
  status: String
}

/* ou mieux ... */
props: {
  status: {
    type: String,
    required: true,
    validator: function (value) {
      return [
        'syncing',
        'synced',
        'version-conflict',
        'error'
      ].indexOf(value) !== -1
    }
  }
}

Installation de Vue CLI

L'installation de Vue CLI requiert l'installation préalable de Node.js.

Video d'installation de Node.js en Français, sur Windows 10.