2016-06-01 7 views
0

Ich fragte mich, wie funktioniert das onInit, besonders beim Anrufen einiger Dienste. Hier ist meine Hauptkomponente:Angular2, Verwenden der onInit der Hauptkomponente, um Dienste anzurufen

@Component({ 
    selector: "app", 
    templateUrl: "app/app.html", 
    directives: [ROUTER_DIRECTIVES] 
}) 
@RouteConfig(){ 
... 
} 
export class AppComponent implements OnInit { 
    constructor (private _fooManager: FooManager) {} 

    ngOnInit() { 
     this._fooManager.fetchAllFoos() // Do a web service call to fetch some data and store them inside the FooManager 
    } 
} 

(FooManager ‚s Injektion kommt aus meiner bootstrap.ts)

dann alle meine anderen Komponenten werden die Daten des FooManager mit (vor allem in ihren Vorlagen). Ich habe mich gefragt, ob ich den Status des Anrufs in der fetchAllFoos überprüfen musste oder ob die ngOnInit Garantien gibt, dass die Werte vollständig geladen sind?

Wenn nicht, ich denke, eine Lösung wäre, ein Versprechen zurückzugeben und dann den Versprechen Status zu überprüfen.

Antwort

Verwandte Themen