Giter Site home page Giter Site logo

session-9's Introduction

session-9

Javascript : coder la logique d'une application

Vous savez coder un site web. Ou plutôt, vous savez afficher des éléments sur une page web, les positionner, leur appliquer un style, et même séparer vos styles, votre template, et votre contenu.

En revanche, vous ne savez pas encore utiliser les actions de l'utilisateur, et les transformer en modifications sur la page. Pour cela, il vous faut coder la logique de l'application.

Tout se fait en javascript, et Vue.js va nous aider.

Petits rappels utiles

Variables et conditions

Une variable javascript s'écrit comme ceci : var maVariable = 1;

Si je veux vérifier que maVariable contient bien la valeur 1, je peux écrire cette condition :

if (maVariable === 1) {
  /* Éxécuter quelque chose ici */
}

Je peux même définir une action si maVariable ne contient pas la valeur 1 :

if (maVariable === 1) {

} else {
  /* Éxécuter quelque chose ici
}

Cela s'appelle une condition.

Fonctions

Une fonction permet d'éxécuter un ensemble d'instruction, et éventuellement renvoie une valeur. Elle peut prendre en paramètre des arguments, mais c'est optionnel.

function somme(number1, number2) {
	return number1 + number2;
}

var maVariable = somme(2, 3);
function eteindreLaLumiere() {
	/* Ensemble d'instructions pour éteindre la lumière */
}

eteindreLaLumiere();

Avec Vue

Avec Vue.js, il est possible de définir des conditions et des fonctions dans le code HTML. Normalement, cela devrait être une mauvaise pratique. Mais puisque Vue est un framework réactif, c'est à dire qui maintient constamment les conditions et les fonctions à jour, cela va nous être utile.

<button v-if="maVariable === 1">Mon Bouton</button> <!-- Ce bouton ne s'affiche que quand maVariable est égale à 1 -->

<button v-on:click="maVariable = 2">Éteindre la lumière</button> <!-- Ce bouton modifiera la valeur de maVariable à 2 lorsqu'il sera cliqué -->

<button v-on:click="eteindreLaLumiere">Éteindre la lumière</button> <!-- Ce bouton lancera la fonction eteindreLaLumiere lorsqu'il sera cliqué. -->

Mais pour que cela marche, il faut écrire le code dans Vue au bon endroit. Encore une fois, la vie est plus simple quand on lit la documentation.

var app = new Vue({
  el: '#app',
  data: { /* Ceci est l'endroit où je peux définir mes variables. Elles deviennent en fait des propriétés */
    maVariable: 1,
    maSecondeVariable: 2,
    monObjet: {
     value: 4
    }
  },
  computed: { /* Ceci est l'endroit où je peux définir des variables dynamiques. Elles sont constamment réactualisées. */
    maTroisiemeVariable: function maTroisiemeVariable() {
    	return this.maVariable + this.maSecondeVariable;
    }
  },
  methods: { /* Ceci est l'endroit où je peux définir des actions à exécuter */
    eteindreLaLumiere: function eteindreLaLumiere() {
      /* Toujours pas éteinte cette lumière ? */
    },
    somme(value1, value2) {
    	return value1 + value2;
    }
  }
});

Remarque importante : dans les fonctions computed et methods, le mot-clé this est une référence à l'objet Vue. Il contient toutes les propriétés de data, toutes les propriétés dynamiques de computed, et toutes les fonctions de methods.

Dans mon code HTML, je peux donc écrire ceci :

<html>
  <head></head>
  <body>
  	<div id="app">
  		<div>1 + 2 = {{ somme(1, 2) }}</div>
  		<div v-if="maTroisiemeVariable === 3">Ma troisième variable égale 3</div>
  		<button v-on:click="maVariable = 2">Click</button>
  	</div>
  </body>
</html>

session-9's People

Contributors

julesbonnard avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.