2017-04-27 2 views
0

Ich arbeite an der angular 2 webapp, ich navigiere zur xyz-Komponente, wenn ich Daten in meinem Array habe und speichere sie in der Servicekomponente. Die ngOnInit() - Methode der xyz-Komponente ruft Daten vom Dienst ab und zeigt sie in ihrer HTML-Vorlage an. Das Problem ist, dass wenn meine Quell-Array-Daten ändern ich wieder auf XYZ-Komponente umleiten, aber dann wird die ngOnInit() -Methode von xyz diesmal nicht aufgerufen. Gibt es einen Weg, dies zu erreichen?ngOnInit wird nicht aufgerufen, wenn ich wieder zur selben Komponente wechsle - Angular 2

+0

Warum führen Sie das Routing erneut durch? Warum rufen Sie die Daten nicht erneut ab, nachdem Sie Änderungen vorgenommen haben? – Alex

Antwort

0

Sie können ein Ereignis in Ihrer Komponente abonnieren. Ich weiß nicht, wie dies für Sie Code zu integrieren, aber auf meiner sieht es wie folgt aus:

ngOnInit() { 
    this._events.xyz.onDataChange.subscribe (() => { 
     this.onDataChange(); 
    } 
onDataChange() { 
    // Display to HTML Template 
} 

Und dann, wenn die Datenänderungen, verwenden Sie this._events.xyz.onDataChange().publish()

ich ein Typoskript bin mit Klasse EventsManager, können Sie diese Art von Dingen mit eckigen Ereignissen wahrscheinlich tun.

Sie sollten jedoch auf Antworten von erfahrenen Entwicklern warten.

Verwandte Themen