typescript - español - ngoninit ionic
¿Cuándo crear constructor en mecanografiado Angular2? (2)
Los constructores de controladores se utilizan principalmente para la inyección de dependencia / servicios como mencionó y también (en mis aplicaciones) para inicializar valores predeterminados complejos basados en los servicios en sí. Dado que el constructor se ejecuta antes de que se inicialice la plantilla de controladores, no se procesarán las variables con precisión, de ahí la necesidad de ngOnInit
y otros métodos similares. Estos métodos de ''bootstrap'' deben usarse para realizar las tareas normales de ''construcción'' para que la plantilla / vista pueda acceder a los datos.
Con respecto a los constructores de servicios, algunos de los míos usan el constructor normalmente e inicializan varias partes del servicio basadas en datos de usuarios existentes, ya que actúan mucho más como clases estándar.
Estas respuestas serán de ayuda:
Aquí hay algunos ejemplos de constructores de los documentos de Angular 2 :
export class AppComponent implements OnInit {
title = ''Tour of heroes'';
heroes: Hero[];
selectedHero: Hero;
constructor(private heroService: HeroService) { }
getHeroes() {
this.HeroService.getHeroes().then(heroes => this.heroes = heroes);
}
}
y...
class Car {
constructor(engine, tires, doors){
this.engine = engine;
this.tires = tires;
this.doors = doors;
}
}
No entiendo por qué y cuándo crear un constructor()
en angular 2 / typescript (he leído la documentación oficial donde crean un constructor para la inyección de dependencias y para los servicios).
Los constructores definen qué parámetros proporcionar cuando se instancian sus objetos. En TypeScript, también puede agregar modificadores como private
o public
para definir al mismo tiempo las propiedades de la clase y establecer sus valores con los proporcionados.
Por ejemplo:
class Car {
constructor(private engine:string, private tires:string, private doors:number){
}
}
es parecido a:
class Car {
constructor(engine:string, tires:string, doors:number){
this.engine = engine;
this.tires = tires;
this.doors = doors;
}
}
En Angular2 se utilizan constructores para inyección de dependencia. El decorador asociado ( @Component
o Injectable
) recopila metadatos (tipos o sugerencias dentro de @Inject
) para determinar qué proporcionar al objeto para crear una instancia.
Tenga en cuenta que los constructores no forman parte del ciclo de vida del componente. Angular2 puede configurar las propiedades más adelante en este nivel ...