Cette page couvre Elm 0.18
Introduction au routage
Ajoutons le routage à notre application. Nous utiliserons les paquets Elm Navigation package et UrlParser.
- Navigation permet de changer l'adresse du navigateur et de répondre aux changements
- UrlParser permet de faire correspondre des routes à des actions
D'abord, installez les paquets :
elm package install elm-lang/navigation
elm package install evancz/url-parser
Navigation
est une bibliothèque qui enveloppe Html.program
. Elle a toutes les fonctionnalités de Html.program
mais permet en plus :
- d'écouter les changements d'adresse du navigateur
- déclencher un message lorsque l'adresse change
- de changer l'adresse du navigateur
Processus
Voilà quelques diagrammes pour illustrer le fonctionnement de notre routage.
Affichage initial
- (1) Quand la page se charge pour la première fois, le module
Navigation
va récupérer laLocation
(l'adresse) actuelle et l'envoyer à la fonctioninit
de l'application. - (2) Dans la fonction
init
nous traitons cette adresse et obtenons uneRoute
correspondante. - (3, 4) Nous stockons cette
Route
correspondante dans notre modèle initial et retournons ce modèle au moduleNavigation
. - (5, 6)
Navigation
affiche ensuite la vue en lui envoyant ce modèle initial.
Quand l'adresse change
- (1) Quand l'adresse du navigateur change, la bibliothèque
Navigation
reçoit un événement. - (2) Un message
OnLocationChange
est envoyé à notre fonctionupdate
. Ce message contiendra la nouvelleLocation
. - (3, 4) Dans
update
nous analysons laLocation
et retournons laRoute
correspondante. - (5) Dans
update
nous retournons le modèle qui contient laRoute
mise à jour. - (6, 7)
Navigation
affiche ensuite l'application comme d'habitude.