2016-10-03 3 views
0

ich versuche, eine Komponente mit einem Eingang in der OnInit Methode instanziiert zu haben:dart angular2 - Eingang in der Komponente in OnInit Methode instanziiert

<my-component [myInput]="myInput"></my-component> 

In my-Komponente, myInput ist immer null, da es nicht instanziiert im Konstruktor aber in OnInit Methode. Ich kann es nicht im Konstruktor instantiieren, weil ich eine asynchrone Methode aufrufen muss, die im Konstruktor nicht erlaubt ist.

Danke für Ihre Hilfe.

+1

Wo ein, wenn sich 'myInput' im übergeordneten Element gesetzt? Hast du 'ngOnChanges()' versucht? Sie können tatsächlich asynchrone Methoden im Konstruktor aufrufen, aber Sie können kein 'Future' zurückgeben, was bedeutet, dass Sie' async' + 'await' nicht verwenden können, aber Sie können' .then (...) 'trotzdem verwenden. Das heißt aber nicht, dass du es tun solltest. –

+0

Danke für Ihre Hilfe. Ich wollte mit "wait" sicherstellen, dass meine Eingabe am Ende meiner Konstruktorausführung gültig ist. Ich werde einen anderen Weg finden. – matth3o

+1

Nochmals, ich habe nicht gesagt, dass Sie den Konstruktor verwenden sollten. Wenn Sie mehr Code bereitstellen, der zeigt, was Sie zu erreichen versuchen, kann ich Ihnen möglicherweise bessere Hilfe bieten. –

Antwort

Verwandte Themen