= practica 1 == previa * npm install jquery popper.js bootstrap == rutas import { RouterModule, Routes } from '@angular/router'; import { HomeComponent } from './components/home/home.component'; import { AboutComponent } from './components/about/about.component'; import { PeliculasComponent } from './components/peliculas/peliculas.component'; const APP_ROUTES: Routes = [ { path: 'home', component: HomeComponent }, { path: 'about', component: AboutComponent }, { path: 'peliculas', component: PeliculasComponent }, { path: '**', pathMatch: 'full', redirectTo: 'home' } ]; export const APP_ROUTING = RouterModule.forRoot(APP_ROUTES); * añadir a **app.modules.ts** * en **navbar.component.html**: * uso de **routerLinkActive** para indicar la opción activa * uso de **[routerLink]** en lugar de **href** == servicios * Ofrecer objeto Singleton y mediante Inyección de Dependencias. * Brindar información a quien la necesite. * Realizar peticiones CRUD (create, read, update, delete), normalmente a un backend que exponga un API Rest. * Gestionar la persistencia de los datos. * Servir como recurso reutilizable en la aplicación. * ng g[enerate] s[ervice] services/peliculas --skipTests * genera el código correspondiente, con un decorador llamado **@Injectable** * añadir en **app.module.ts** en la sección **providers** del decorador y hacer el import correspondiente * a partir de Angular 7 no es necesario, la directiva **ProvidedIn** del servicio ya lo hace (no fisicamente) == modelos/interfaz * ng g[enerate] i[nterface] models/pelicula