Get router parameter every time it changes.
...
import { ActivatedRoute, Params } from '@angular/router';
...
.
export class RecipeDetailComponent implements OnInit {
recipe: Recipe;
id: number;
constructor(private route: ActivatedRoute) { }
ngOnInit() {
this.route.params
.subscribe(
(params: Params) => {
this.id = +params['id'];
this.recipe = this.recipeService.getRecipe(this.id);
}
);
}
onAddToShoppingList() {
this.recipeService.addIngredientsToShoppingList(this.recipe.ingredients);
}
}