我使用routerLink從組件與餐館到另一個組件列表中通過URL更新值發送到另一個組件角2
[RouterLink] = "['../ restaurant-menu', restaurant.id]"
發送ID在其他組件時,我用的是id作爲如下
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);
});
}
,一切工作正常,我第一次點擊一間餐廳,並加載它的菜單,當我返回到餐館列表,然後單擊一個不同的餐廳,這個問題開始,應用程序加載的第一家餐廳我的菜單點擊,我必須刷新瀏覽器手動加載正確的菜單。
我懷疑可以在調用函數getRestaurantMenu()後更新id,因爲無論我離開多少次並進入不同的餐館,它總是會顯示第一家餐廳的菜單,但我也試過這樣做在HTML上:
<P> {{restaurantId}} </ p>
顯示的ID號碼是正確的。我嘗試了不同的方法來傳遞該ID,但結果是一樣的,可能是什麼問題?由於
你在哪裏定義'This',爲什麼不使用'this'?也不知道如何調用'GetRestaurantMenu()'而不是'this.GetRestaurantMenu(...)'調用'GetRestaurantMenu()'。 – rob
也是你的'NgOnInit()'被角度調用?我認爲它必須被稱爲'ngOnInit()' – rob
是的,我的錯在我複製代碼的時候,對不起,我已經糾正了它 –