TD n°0
Exemple de démonstration : projet first-app
Objectifs
- Créer des routes, des models, utiliser les templates
- Montrer la cohérence et la simplicité du framework
Pré-requis
Installations
- Node + npm
- ember-cli
- WebStorm + ember.js plugin
- plugin Ember inspector
Création du projet
Créer le projet first-app dans votre dossier local ember-tds
cd ember-tds ember new first-app |
Démarrer le serveur ember :
cd first-app ember serve |
Création d'une route
Création d'une route (se placer dans le dossier du projet) :
ember generate route user |
ou en version plus courte :
ember g route user |
L'url http://127.0.0.1:4200/user est maintenant accessible.
Data-binding
Dans app/templates/user.hbs
1 2 |
{{input value=this.nom}} < div >{{nom}}</ div > |
Routage
Cet exemple illustre les routes imbriquées
Créer une route client
Définir le model hook dans app/routes/client.js
1 2 3 4 5 6 |
export default Route.extend({ model(){ return {nom: 'Smith' , details: 'Des détails sur Smith...' } } }); |
Dans app/templates/client.hbs
1 2 3 4 5 |
< h1 >{{model.nom}}</ h1 > {{#link-to "client.details"}} Détails {{/link-to}} {{outlet}} |
Créer une route client/details
Modifier app/routes/client/details.js pour y ajouter une action permettant de masquer le detail (en retournant à la page client)
1 2 3 4 5 6 7 |
export default Route.extend({ actions:{ fermer(){ this .transitionTo( 'client' ); } } }); |
Modifier le template app/templates/client/details.hbs :
1 2 |
{{model.details}} < button {{action "fermer"}}>Fermer</ button > |