2016-12-14 6 views
0

Ich baue eine app mit AngularJS 2/Ionic 2.Listenverwaltung in AngularJS 2/Ionic 2

In dieser Anwendung werde ich eine Komponente mit einer Liste hat. Die Liste kann auf zwei Arten aktualisiert werden:

Automatisch - Aktualisieren, wenn keine Aktualisierung vorhanden ist oder wenn die letzte Aktualisierung vor mehr als 30 Minuten erfolgte. Handbuch - Wenn der Benutzer nicht bis zum nächsten Update warten möchte, kann ich jederzeit manuell aktualisieren.

Die Liste kann auch von anderen Komponenten geändert werden. Zum Beispiel den Status eines Artikels ändern, löschen, hinzufügen usw. Die Liste muss immer in der Listenkomponente aktualisiert werden.

Was wäre der beste Weg, um diese Liste über alle Komponenten hinweg zu verwalten und zu verwalten? Durch einen Service? Irgendeine spezifische Bibliothek?

+0

Die 2-Wege-Datenbindungen von Angular machen das möglich, so dass sie bei jeder Änderung immer auf dem neuesten Stand sind. Fragen Sie nach der Parallelität verschiedener Benutzer, die dieselben Daten gleichzeitig aktualisieren? Ich würde immer denken, dass die Daten aktualisiert werden, Sie würden speichern und erneut von dem Server abfragen, um sicher zu sein, dass Sie die neuesten haben. Dann hat jedes Update immer das Neueste. – rncrtr

+0

Mögliches Duplikat von [Liste mit Ionic 2/Angular 2 aktualisiert] (http://stackoverflow.com/questions/41093420/keep-list-updated-with-ionic-2-angular-2) –

Antwort

1

EDIT: Sie haben bereits gefragt: Keep list updated with Ionic 2/Angular 2. Warum fragst du nochmal?

Um Daten über alle Komponenten hinweg synchronisiert zu halten, müssen Sie IMO einen Service Provider erstellen, (also service in providers in Ihrem Haupt deklariert).
Jede Komponente die Liste verwendet, wird wie in seinem Konstruktor etwas haben:

constructor( private myListService: myListService, ...

In diesem Service sollten Sie eine Oberserver/Observable pattern haben, wo Ihre Komponenten zeichnen werden, und nur wenige Methoden, um die Liste zu bearbeiten.
Also, wenn Komponenten die Liste aktualisieren müssen, werden sie über den Dienst, dann wird jede Änderung an abonnierte Komponenten weitergegeben.