Dynamisches Routing basierend auf externen Daten

Ich arbeite an einer Anwendung, die Routen basierend auf einer externen Datenquelle konfigurieren muss. Der Lebenszyklus der App sieht folgendermaßen aus:

ng2 inits mit AppApp enthält Header, Router-Outlet und Footerdefault route ist auf homeComponent @ konfigurierhomeComponent hat categoriesListComponentcategoriesListComponent ruft eine get-Methode von categoriesService @ acategoriesService ruft eine Liste der Kategorien von der API zurück.categoriesComponent rendert die Liste und fügt neue Routen für jede Kategorie über einen routesConfigurator @ in die App ei

Es gibt tatsächlich eine weitere Abstraktionsebene mit einem routesService, die für dieses Beispiel jedoch nicht benötigt wird.

Dieser Teil funktioniert, da wir auf der Homepage angefangen haben, wurde der API-Aufruf durchgeführt und das @ erstellrouterConfigs für jede Kategorie. Wenn der Benutzer auf eine Kategorie klickt, ist die Route bereits mit dem richtigen @ konfiguriercategoryComponent + metadata und ihnen werden die richtigen Informationen angezeigt.

Wenn jedoch direkt auf eine bestimmte Kategorieseite zugegriffen wird, verfügt ng2 nicht über dasrouterConfig für diese Route noch, da der API-Aufruf nichts zurückgegeben hat, geschweige denn noch ausgelöst. Ng2 rendert nur die Basis-App mit Header, Footer und einem leeren Router-Ausgang.

Die einzige Lösung, die ich mir vorstellen kann, ist ziemlich "hacky". Behalten Sie eine zwischengespeicherte JSON-Datei auf dem App-Server bei, laden Sie sie im ursprünglichen HTML-Code und fügen Sie sie dann unter ng2 bootstrap / init in einen Dienst ein. Auf diese Weise werden die Routen konfiguriert, bevor ng2 die Seite rendert.

Ich bitte um weitere mögliche Vorschläge, vielleicht jemanden mit ein bisschen mehr ng2-Erfahrung, in den ich mich einmischen kann. Vielleicht wurde dies bereits gelöst und ich habe mein Google-Fu einfach nicht genug perfektioniert.

Danke im Voraus

Antworten auf die Frage(4)

Ihre Antwort auf die Frage