Component dettaglio-evento, creazione

Component dettaglio-evento, creazione

Per creare il nuovo component dettaglioEvento dalla nostra Shell diamo il seguente comando Angular:

ng generate component components\dettaglioEvento

Nella folder di progetto \agenda-eventi\src\app\components verrà creata il folder dettaglio-evento, contenente i quattro nuovi file, caratteristici di ogni component.

  • dettaglio-evento.component.css
  • dettaglio-evento.component.html
  • dettaglio-evento.component.ts
  • dettaglio-evento.component.spec.ts

Come sappiamo, con questo comando viene automaticamente modificato il file src\app\app.module.ts per il includere nel progetto il nuovo componente.

 

MODIFICHE AUTOMATICHE AL FILE app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import {
  MatInputModule,
  MatPaginatorModule,
  MatProgressSpinnerModule,
  MatSortModule,
  MatTableModule,
  MatIconModule,
  MatButtonModule,
  MatCardModule,
  MatFormFieldModule
} from "@angular/material";
import {MatSelectModule} from '@angular/material/select';

import { ListaEventiComponent } from './components/lista-eventi/lista-eventi.component';
import { DettaglioEventoComponent } from './components/dettaglio-evento/dettaglio-evento.component';


@NgModule({
  declarations: [
    AppComponent,
    ListaEventiComponent,
    DettaglioEventoComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    BrowserAnimationsModule,
    MatInputModule,
    MatTableModule,
    MatPaginatorModule,
    MatSelectModule,
    MatSortModule,
    MatProgressSpinnerModule,
    MatIconModule,
    MatButtonModule,
    MatCardModule,
    MatFormFieldModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

MODIFICA DEL FILE app-routing.module.ts

Il nuovo component è stato creato, ma all’interno dell’applicazione deve essere definita la sua rotta. Lo facciamo  modificando opportunamente  il file di routing.

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';

import {ListaEventiComponent} from './components/lista-eventi/lista-eventi.component';
import {DettaglioEventoComponent} from './components/dettaglio-evento/dettaglio-evento.component';

const routes: Routes = [
  {
    path: 'lista-eventi',
    component: ListaEventiComponent,
    data: { title: 'Lista degli Eventi' }
  },
  {
    path: 'dettaglio-evento/:id',
    component: DettaglioEventoComponent,
    data: { title: 'Dettagli dell\'Evento' }
  },
  { path: '',
    redirectTo: '/lista-eventi',
    pathMatch: 'full'
  }
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

Dopo queste modifiche il nostro nuovo component sarà visualizzabile nel browser semplicemente digitando

http://localhost:4200/dettaglio-evento/123

(123 è un numero arbitrario, per il momento si può usarne uno qualsiasi)

 

No Comments

Sorry, the comment form is closed at this time.