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
Navigationva récupérer laLocation(l'adresse) actuelle et l'envoyer à la fonctioninitde l'application. - (2) Dans la fonction
initnous traitons cette adresse et obtenons uneRoutecorrespondante. - (3, 4) Nous stockons cette
Routecorrespondante dans notre modèle initial et retournons ce modèle au moduleNavigation. - (5, 6)
Navigationaffiche ensuite la vue en lui envoyant ce modèle initial.
Quand l'adresse change

- (1) Quand l'adresse du navigateur change, la bibliothèque
Navigationreçoit un événement. - (2) Un message
OnLocationChangeest envoyé à notre fonctionupdate. Ce message contiendra la nouvelleLocation. - (3, 4) Dans
updatenous analysons laLocationet retournons laRoutecorrespondante. - (5) Dans
updatenous retournons le modèle qui contient laRoutemise à jour. - (6, 7)
Navigationaffiche ensuite l'application comme d'habitude.