angular: elementos básicos app

  • PPT: 3.3
  • piezas funcionales y reutilizables
  • bajo coste mantenimiento
  • archivos interelacionados de proposito común
    • app.component.css (opcional)
      • estilos CSS exclusivos componente
    • app.component.html (opcional)
    • app.component.espec.ts (opcional)
    • app.component.ts
      • clase OO
      • sección imports
      • sección @Component ← decorador
        • función que recibe un JSON como parámetro
      • sección definición clase
      • import { Component } from '@angular/core';
        
        @Component({
            selector: 'app-root',
            templateUrl: './app.component.html',
            styleUrls: './app.component.css'
        })
        
        export class AppComponent {
            mensaje = 'Saludos desde el componente';
        }
  • al menos 1 componente por app → AppComponent por defecto, en src/app
  • es la home de la aplicación con el uso del tag indicado en el selector
  • <!doctype html>
    <html lang="es">
      <head>
        <meta charset="utf-8">
        <title>Hola mundo</title>
        <base href="/">
      </head>
      <body>
        <app-root></app-root>
      </body>
    </html>
  • clase en fichero TS que usa un decorador (annotation) específica: @NgModule
  • trabajar con módulos nos permite:
    • escalar aplicación
    • evitar complejidad (o tenerla controlada)
    • bajo acoplamiento
    • alta cohesión
    • podría parecer que añaden complejidad innecesaria, pero no es así
  • indica cual es el módulo desde el que arrancará la app
  • toda app Angular debe tener como mínimo un módulo y AppModule (app.module.ts) es el de por defecto

import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';

if (environment.production) {
  enableProdMode();
}

platformBrowserDynamic().bootstrapModule(AppModule).catch(err => console.log(err));

  • development/angular/elementos-basicos.txt
  • Darrera modificació: 26/01/2020 09:55
  • per mate