Ich benutze Angular2 für mein Frontend und jetzt muss ich neue Routen von einem Array registrieren.Angular2 - neue Routen von einem Array registrieren
Ich habe einen Dienst, der die Daten von einem Server erhält. In meiner AppComponent werden diese Daten in einer Variablen gespeichert.
Dies ist die Funktion meine Service-Aufruf:
getSpaces() {
this.spaceService.getData()
.then(data => {
this.spaces = data;
for (var i = 0; i < this.spaces.length; i++) {
var item = { label: this.spaces[i].name, icon: 'fa-list', routerLink: ['/database' + this.spaces[i].name] }
this.itempanel[1].items[1].items.push(item);
}
});
}
Was ich jetzt tun, um die Namen von Eigenschaften „Räume“ in mein panelmenu (primeng) drängt. Wie Sie sehen können, füge ich einen routerLink für jeden spaces.name an, aber diese Routen befinden sich jetzt nicht mehr in meinem @Routes Decorator.
Also meine Frage ist: Wie kann ich meine Routen auf dynamische Weise registrieren? Sie sollten etw wie folgt aussehen:
new Route {path: 'database'+this.spaces[i].name, component: SpaceComponent}
ich etwas könnte nicht nützlich in der Dokumentation finden, aber ich könnte etwas verpasst haben. Irgendwelche Ideen?
Ich weiß, dass ich die Routen mit einem param registrieren:
@Routes([
{path:'database/:spacename', component: SpaceComponent}
])
Aber ich weiß nicht, wie er damit umgehen, weil ich nicht so tief in Angular2 (von sich selbst oder sogar Programmierung) bin . Also könnt ihr mir entweder erklären, wie man mit der Route Params arbeitet (zum Beispiel wie man den Space-Namen in diesen Link bringt oder was auch immer) oder mir sagen, wie man neue Routen innerhalb einer Funktion registriert? Danke!