Dans le didacticiel précédent, nous avons implémenté la fonctionnalité d'inscription et avons également vu comment utiliser les services AngularJS pour partager des données entre contrôleurs. Dans cette partie de la série de didacticiels, nous allons créer une interface permettant à l'utilisateur connecté de créer un article de blog..
Commençons par cloner la troisième partie du tutoriel de GitHub.
clone de git https://github.com/jay3dec/AngularJS_Firebase_Part3.git
Après avoir cloné le code source, accédez au répertoire du projet et installez les dépendances requises..
cd AngularJS_Firebase_Part3 npm installer
Une fois les dépendances installées, démarrez le serveur.
npm start
Pointez votre navigateur sur http: // localhost: 8000 / app / # / home et vous devriez avoir l'application en cours d'exécution.
Nous avons besoin d'une page avec laquelle l'utilisateur peut créer et publier des articles de blog. Ajoutons les modèles et les fichiers requis pour créer la page Ajouter un message.
Accédez au AngularJS_Firebase_Part3 / app
répertoire et créer un dossier appelé addPost
. À l'intérieur addPost
créer un fichier HTML appelé addPost.html
et addPost.js
. Dans addPost.html
ajoutez le code HTML suivant:
Application de blog AngularJS & Firebase
À l'intérieur addPost.js
, nous allons définir les itinéraires pour la vue Add Post. $ routeProvider
a une méthode appelée quand
, que nous utiliserons pour créer un itinéraire pour notre addPost
vue. Nous allons mettre un templateUrl
qui serait rendu dans le index.html
. Nous allons également définir un manette
(logique qui contrôle une vue) pour la nouvelle création $ scope
du addPost
vue. Voici comment addPost.js
regarde enfin:
'use strict'; angular.module ('myApp.addPost', ['ngRoute']) .config (['$ routeProvider', fonction ($ routeProvider) $ routeProvider.when ('/ addPost', templateUrl: 'addPost / addPost.html ', contrôleur:' AddPostCtrl ');]) .controller (' AddPostCtrl ', [' $ scope ', fonction ($ scope) ]);
Inclure le myApp.addPost
module dans app.js
.
angular.module ('myApp', ['ngRoute', 'monApp.home', 'monApp.register', 'monApp.welcome', 'monApp.addPost' // module nouvellement ajouté])
Ajoutez également une référence à la addPost.js
dans le app / index.html
page.
Enregistrez les modifications, redémarrez le serveur et pointez votre navigateur sur http: // localhost: 8000 / app / # / addPost et vous devriez pouvoir voir la page d'ajout de publication..
Tout d'abord, nous devons ajouter une directive ngModel à la zone de texte d'entrée et à la zone de texte de la page d'ajout de publication pour permettre la liaison de données bidirectionnelle
.
Lorsqu'un utilisateur publie un article de blog, il doit avoir un titre et un article. Nous allons donc ajouter une validation pour vérifier si un article de blog a un titre et un article. Si le titre et l'article sont fournis, nous activerons le bouton de publication et l'utilisateur pourra publier son article de blog. Nous utiliserons une directive ngDisabled pour désactiver le bouton de publication. Ajouter le ngDisabled
directive au bouton de publication comme indiqué.
Comme vu dans le code ci-dessus, ngDisabled
désactive le bouton de publication lorsque le titre ou l'article de l'article n'est pas fourni.
Ensuite, nous allons enregistrer le titre et l'article de l'article dans Base de feu
lorsque l'utilisateur clique sur le bouton Publier. Afin de sauvegarder les données sur Firebase, nous utiliserons l’API $ push.
Ajouter le ngController
directive au corps de addPost.html
et ajoutez également la directive ngSubmit au formulaire addPost.html
.