Хотя существует несколько способов решения этой проблемы, это полностью зависит от следующих факторов:
- Возвращает ли API продуктов полные сведения для каждого продукта.Или же они просто возвращают релевантные данные, основываясь на том, что вы хотели бы показать на странице списка продуктов.
- Независимо от того, находится ли API продуктов под вашим контролем, и вы сами решаете, какие данные он должен возвращать.
- Количество полей, которые имеет модель данных для каждого продукта.
Учитывая все это, если количество полей достаточно для каждого продукта, тогда я не будудумаю, что все детали продуктов можно возвращать через API products
.Конкретные детали для каждого продукта должны быть возвращены products/:id
API, который будет принимать ProductId
в качестве параметра.
Таким образом, в этом случае, получая Id из ActivatedRoute
и затем вызывая /products/:id
APIполучить подробности о товаре было бы более разумно.
Если, с другой стороны, модель данных для продукта не такая уж большая, вполне можно вернуть полные сведения о продуктах через API продуктов.
Таким образом, в этом случае передача выбранных данных продукта через SharedService была бы подходом.