Questo tutorial ti mostrerà come costruire una bellissima interfaccia utente di login e registrazione con Angular Material. Vedremo i vari componenti del design dei materiali e come possono essere utilizzati per realizzare applicazioni dall'aspetto professionale. Il codice completo per questo tutorial può essere trovato nel nostro repository GitHub.
Inizieremo creando un'applicazione angolare. Si spera che siano già installati Node.js e Angular CLI nel proprio ambiente di lavoro.
Utilizzare il seguente comando per creare una nuova app Angolare.
# crea un nuovo progetto angolare sotto il nome responsive-angular-material ng new registration-login-angular-material
Questo comando crea tutti i file necessari per eseguire il boot di un'applicazione Angolare. Il prossimo passo sarà aggiungere materiale angolare nella tua applicazione.
cd responsive-angular-material / #install angular material ng add @ angular / material
I componenti in Angolare sono gli elementi costitutivi dell'applicazione. Sebbene sia possibile creare manualmente componenti, Angular CLI semplifica la generazione automatica di componenti che contengono tutto il codice di avviamento necessario. Per generare un componente in CLI angolare, è sufficiente eseguire il seguente comando:
# MyComponent è il nome del componente componente ng g MyComponent
La nostra app avrà i seguenti componenti:
Registrazione
componenteAccesso
ComponenteGeneriamo ora quei componenti.
# Componente di registrazione ng componente g Componente di registrazione # componente componente ng componente LoginComponent
La bellezza di Angular Material è che viene fornito con temi predefiniti, in modo da poter facilmente avviare l'aspetto e l'aspetto dell'applicazione semplicemente inserendo alcuni semplici snippet di codice nella tua app. Per aggiungere un tema, è sufficiente importarlo in style.css.
/*style.css*/ @import "~@angular/material/prebuilt-themes/indigo-pink.css";
Vogliamo che la nostra interfaccia utente sia dotata di una barra di navigazione con collegamenti per la registrazione e il login. Creeremo quindi una barra di navigazione con due pulsanti che collegano ai componenti dell'app.
Per creare una barra degli strumenti e pulsanti, si utilizza il
e
componenti rispettivamente.
Vai avanti e aggiungi il codice HTML per l'interfaccia utente in src / app / app.component.html. Si noti che abbiamo anche aggiunto collegamenti ai percorsi.
CASA Registrati Login
Successivamente, aggiungeremo uno stile alla nostra interfaccia utente. Aperto app.component.css e aggiungi i seguenti stili CSS.
.spacer flex: 1 1 auto;
Devi anche importare i moduli da @ Angolare / materiale
. È possibile scegliere di importarli dal modulo principale o creare un modulo separato che conterrà tutti i moduli di progettazione dei materiali. Dato che lavoreremo con molti di questi moduli quando creeremo il resto dell'interfaccia utente, creeremo un modulo separato per tutti i componenti. Vai avanti e crea un nuovo file src / app / material.module.ts.
Aggiungi i moduli per il
, , e
componenti nel file come mostrato di seguito.
import NgModule da '@ angular / core'; import MatButtonModule, MatToolbarModule da '@ angular / material'; @NgModule (importazioni: [MatButtonModule, MatToolbarModule], esporta: [MatButtonModule, MatToolbarModule],) classe di esportazione MyMaterialModule
Quindi, da altri componenti nel nostro codice, abbiamo solo bisogno di includere il modulo che abbiamo appena creato-app / app.module.ts-come mostrato di seguito.
// app / app.module.ts import MyMaterialModule da './material.module'; @NgModule (importazioni: [BrowserModule, BrowserAnimationsModule, MyMaterialModule,],)
Emettere il ng servire
comando per testare la tua applicazione, e dovresti vedere una bella area di navigazione con Registrare e Accesso link.
Il routing consente agli utenti di navigare tra le diverse pagine. Per abilitare il routing nella nostra applicazione, definiremo prima la configurazione del routing. Per fare ciò, aggiungere il seguente codice a app.module.ts.
importare RouterModule, Routes da '@ angular / router'; importazioni: [BrowserModule, BrowserAnimationsModule, MyMaterialModule, RouterModule.forRoot ([path: ", redirectTo: '/', pathMatch: 'full', percorso: 'register', componente: RegistrationComponentComponent, percorso: 'login' , componente: LoginComponentComponent,]),],
Il prossimo passo sarà aggiungere un
elemento che consente a Angular Router di sapere dove posizionare i componenti indirizzati. Il app.component.html il file dovrebbe ora assomigliare a questo:
CASA Registrati Login
Abbiamo posizionato il router in modo che i componenti vengano visualizzati sotto la barra di navigazione.
In questa sezione, utilizzeremo principalmente i componenti di layout e controllo del modulo. Questa interfaccia utente mostrerà questi componenti di Material Design:
) -un contenitore di contenuti per testo, foto e azioni nel contesto di un singolo soggetto
) -utilizzato per specificare un'etichetta per il campo modulo
) -specifica un campo di input
) - Avvolge diversi componenti Angolari per creare un campo modulo
) - una casella di controllo nativa con uno stile di progettazione materiale avanzato
) -un selezionatore di date avanzatoMa prima, importiamoli dentro src / app / material.ts.
import NgModule da '@ angular / core'; import MatNativeDateModule, MatDatepickerModule, MatIconModule, MatButtonModule, MatCheckboxModule, MatToolbarModule, MatCardModule, MatFormFieldModule, MatInputModule, MatRadioModule, MatListModule, da '@ angular / material'; import MatDatepickerModule da '@ angular / material / datepicker'; import FormsModule, ReactiveFormsModule da '@ angular / forms'; @NgModule (importazioni: [MatNativeDateModule, MatDatepickerModule, MatIconModule, MatButtonModule, MatCheckboxModule, MatToolbarModule, FormsModule, MatCardModule, MatFormFieldModule, MatInputModule, MatListModule, MatRadioModule,], le esportazioni: [MatNativeDateModule, FormsModule, MatDatepickerModule, MatIconModule, MatButtonModule, MatCheckboxModule, MatToolbarModule, MatCardModule, MatFormFieldModule, MatInputModule, MatListModule, MatRadioModule,],) classe di esportazione MyMaterialModule
Inizieremo con il
, che conterrà tutto il contenuto nell'interfaccia utente di registrazione. Aperto registration-component.component.html e aggiungi il seguente codice.
Registrazione
Successivamente, aggiungeremo un modulo HTML all'interno della sezione del contenuto che conterrà tutti i nostri campi modulo.
Registrazione
Successivamente, aggiungeremo campi modulo per il nome, il cognome, l'indirizzo, l'e-mail e la password. Useremo
creare etichette e per creare i campi di input.
Successivamente, aggiungeremo una casella di controllo per sesso e un selettore di date per la data di nascita. Noi useremo
e
che hanno migliorato lo stile e le animazioni di Material Design.
Maschio Femmina Altro Data di nascita
L'ultimo bit sarà un pulsante dopo il per l'invio delle informazioni dell'utente.
Mettiamo un po 'di stile sulle nostre forme per renderle più presentabili. Aperto creare-account.component.css e aggiungi i seguenti stili CSS.
.my-form min-width: 150px; larghezza massima: 500 px; larghezza: 100%; .full-width width: 100%;
L'interfaccia utente di registrazione sarà simile a questa:
L'interfaccia utente di accesso avrà i seguenti componenti:
) -un contenitore di contenuti per testo, foto e azioni nel contesto di un singolo soggetto
) -specifica un campo di inputProprio come abbiamo fatto per l'interfaccia utente della registrazione, avremo un componente della scheda Materiale per ospitare il modulo di accesso.
Il codice HTML per Accesso viene mostrata la pagina, che contiene due ingressi per le credenziali e-mail e password.
ACCESSO
L'interfaccia utente finale sarà simile a questa:
Questo tutorial ha coperto la maggior parte dei componenti di Angular Material necessari per realizzare un'interfaccia utente pienamente funzionante. Come hai visto, Angular Material è molto facile da usare poiché tutti i componenti hanno stili predefiniti. Ciò significa che puoi creare rapidamente belle interfacce utente. Inoltre, la documentazione del materiale angolare fornisce molti esempi ed è facile da seguire.