Nel precedente tutorial, abbiamo implementato la funzionalità di registrazione e abbiamo anche visto come utilizzare i servizi AngularJS per condividere i dati tra i controller. In questa parte della serie di tutorial, creeremo un'interfaccia per l'utente che ha effettuato l'accesso per creare un post sul blog.
Iniziamo clonando la terza parte del tutorial da GitHub.
git clone https://github.com/jay3dec/AngularJS_Firebase_Part3.git
Dopo la clonazione del codice sorgente, accedere alla directory del progetto e installare le dipendenze richieste.
cd AngularJS_Firebase_Part3 npm install
Una volta installate le dipendenze, avviare il server.
inizio di npm
Puntare il browser su http: // localhost: 8000 / app / # / home e si dovrebbe avere l'applicazione in esecuzione.
Abbiamo bisogno di una pagina con cui l'utente può creare e pubblicare post sul blog. Aggiungiamo i modelli e i file necessari per creare la pagina Aggiungi post.
Vai a AngularJS_Firebase_Part3 / app
directory e creare una cartella chiamata addPost
. Dentro addPost
creare un file HTML chiamato addPost.html
e addPost.js
. Nel addPost.html
aggiungi il seguente codice HTML:
AngularJS & Firebase Blog App
Dentro addPost.js
, definiremo i percorsi per la vista Aggiungi post. $ routeProvider
ha un metodo chiamato quando
, che useremo per creare un percorso per il nostro addPost
vista. Imposteremo a TemplateURL
quale sarebbe reso nel index.html
. Imposteremo anche un controllore
(logica che controlla una vista) per la nuova creazione $ portata
del addPost
vista. Ecco come addPost.js
finalmente guarda:
'usare rigoroso'; angular.module ('myApp.addPost', ['ngRoute']) .config (['$ routeProvider', funzione ($ routeProvider) $ routeProvider.when ('/ addPost', templateUrl: 'addPost / addPost.html ', controller:' AddPostCtrl ');]) .controller (' AddPostCtrl ', [' $ scope ', function ($ scope) ]);
Includi il myApp.addPost
modulo in app.js
.
angular.module ('myApp', ['ngRoute', 'myApp.home', 'myApp.register', 'myApp.welcome', 'myApp.addPost' // Modulo appena aggiunto])
Inoltre, aggiungere un riferimento al addPost.js
nel app / index.html
pagina.
Salva le modifiche, riavvia il server e indirizza il browser a http: // localhost: 8000 / app / # / addPost e dovresti riuscire a visualizzare la pagina di aggiunta.
Innanzitutto, è necessario aggiungere una direttiva ngModel alla casella di testo di input e all'area di testo nella pagina di aggiunta per abilitare il associazione dati bidirezionale
.
Quando un utente pubblica un post sul blog, dovrebbe avere un titolo e un post. Quindi aggiungeremo la convalida per verificare se un post del blog ha titolo e post. Se vengono forniti il titolo e il post, abiliteremo il pulsante di pubblicazione e l'utente può pubblicare il suo post sul blog. Useremo una direttiva ngDisabled per disabilitare il pulsante di pubblicazione. Aggiungi il ngDisabled
direttiva al pulsante di pubblicazione come mostrato.
Come visto nel codice sopra, ngDisabled
disabiliterebbe il pulsante di pubblicazione quando non viene fornito il titolo o il post dell'articolo.
Successivamente, salveremo il titolo e il post dell'articolo in Firebase
quando l'utente fa clic sul pulsante di pubblicazione. Per salvare i dati su Firebase, utilizzeremo l'API $ push.
Aggiungi il ngController
direttiva al corpo di addPost.html
e aggiungere anche la direttiva ngSubmit al modulo in addPost.html
.