Búsqueda de sitios web

javascript - ¿Cómo establecer un parámetro predeterminado para @Input en Angular2?


Supongamos que tengo un componente que mostrará una propiedad name, así que más o menos sería así:

import {Component, Input} from 'angular2/core';

@Component({
  selector: 'demo',
  template: `<div>{{name}}</div>`,
  styles: [``],
})
export class Demo {
  @Input() name: string;
}

El problema es, ¿cómo podría mostrar [noname] cuando alguien usa este componente pero no pasa ninguna propiedad name?

La única solución que me viene a la mente es usar un operador lógico dentro de la plantilla como {{ name || '[noname]' }}.

Respuesta #1

intentar

@Input() name: string = 'noname';

Respuesta #2

con Angular 8 y la configuración predeterminada de tslint tu IDE notará:

así que está bien simplemente escribir:

@Input() addclass = '';

sin ninguna "anotación de tipo".

Artículos relacionados