2017-06-12 1 views
-1

Warum Eingabeeigenschaften auf Komponente sind in Konstruktor nicht verfügbarWarum Eingabeeigenschaften auf Komponente sind in Konstruktor nicht verfügbar

@Input() results: Result[]; 

constructor() { 
    console.log(this.results); // why it is not available here 
} 
+0

denke ich sein Set auf dem 'ngOnChanges'-Lifecycle-Haken. – robbannn

+0

Weitere Informationen über den Unterschied zwischen Konstruktor und OnInit, um auf die Antwort von Jonnysai aufzubauen [Unterschied zwischen Konstruktor und OnInit] (https://stackoverflow.com/questions/35763730/difference-between-constructor-and-ngoninit) – Alex

Antwort

3

Eingang Eigenschaft nicht initialisiert wird, bis Ansicht so eingerichtet ist, im allgemeinen können Sie Eingangswert zugreifen auf ngOnInit()

überprüfen Sie LifeCycle. https://angular.io/docs/ts/latest/guide/lifecycle-hooks.html

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

@Component({ 
    selector: 'child', 
    template: ` 
    <p>The next number is {{ mynumber + 1 }}</p> 
    ` 
}) 
class ChildComponent { 
    @Input() mynumber: number; 
    ngOnInit(){ 
     console.log(this.number); 
    } 
} 

@Component({ 
    selector: 'parent', 
    template: ` 
    <child [mynumber]="41"></child> 
    ` 
}) 
export class ParentComponent {} 
Verwandte Themen