Ich verwende Router eine ID von einer Komponente mit einer Liste von Restaurants an eine andere Komponente über URLWerte aktualisieren, wenn auf eine andere Komponente Angular 2
[RouterLink] = "['../ restaurant-menu', restaurant.id]"
I In der anderen Komponente zu senden verwenden Sie die ID als ein anderes Restaurant und klicken Sie auf, lädt die App das Menü des ersten Restaurants I folgt
ngOnInit() {
this.restaurantId = this.router.snapshot.params ['id']
this.getRestaurantMenu (this.restaurantId)
}
restaurantMenu: void []
getRestaurantMenu (id): void {
this.RestaurantsService.getRestaurantMenu (id)
.subscribe (
restaurantMenu => this.restaurantMenu = restaurantMenu,
err => {
console.log (err);
});
}
Alles funktioniert gut ich das erste Mal ein Restaurant klicken und die Menükarte laden, beginnt das Problem, wenn ich in die Liste der Restaurants zurückkehren geklickt, muss ich den Browser manuell aktualisieren, um das zu laden korrektes Menü.
Ich bezweifle, dass die ID aktualisiert werden konnte nach dem Aufruf der Funktion getRestaurantMenu(), egal wie oft ich gehe und in verschiedene Restaurants eingeben wird es immer das Menü des ersten Restaurants zeigen, aber ich habe auch versucht, dies zu tun auf dem HTML:
<P> {{restaurantId}} </ p>
Und die angezeigte ID-Nummer ist korrekt. Ich habe verschiedene Wege ausprobiert, um diese ID zu übergeben, aber das Ergebnis ist das gleiche, was könnte das Problem sein? Dank
wo definierst du 'This' und warum benutzt du' this' nicht? Auch nicht sicher, wie 'GetRestaurantMenu()' jemals aufgerufen wird, wie Sie rufen 'GetRestaurantMenu (...)' anstelle von 'this.GetRestaurantMenu (...)'. – rob
Wird auch 'NgOnInit()' von angular aufgerufen? Ich dachte, es hieß 'ngOnInit()' – rob
yeah, meine Schuld, während ich den Code kopierte, sorry, ich korrigierte es bereits –