Об угловых вызовах API и компонентной связи - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть компонент product.component.ts, в котором у меня есть все данные о нескольких продуктах, которые я получил по вызову API

@Component({
    selector: 'app-pinfo',
    templateUrl: './product.component.html',
    styleUrls: ['./product.component.css']
  })

, затем после отображения всех продуктов на этом компоненте, когда я нажимаю на один продуктЯ перехожу к компоненту detailsproductinfo и передаю идентификатор продукта в качестве параметра навигации. Мне интересно знать, что я делаю для получения подробных данных о продукте из следующего

  1. вызова API для getproductinfobyid (id) или

  2. передать данные из компонента продукта, потому что у меня уже есть данные о продукте в компоненте продукта

Мне интересно знать, какой метод повысит производительностьсверху и что больше времени занимает в угловых тонах снизу

  1. передача данных между компонентами с помощью службы или

  2. API-вызов с использованием http

1 Ответ

0 голосов
/ 20 ноября 2018

Хотя существует несколько способов решения этой проблемы, это полностью зависит от следующих факторов:

  1. Возвращает ли API продуктов полные сведения для каждого продукта.Или же они просто возвращают релевантные данные, основываясь на том, что вы хотели бы показать на странице списка продуктов.
  2. Независимо от того, находится ли API продуктов под вашим контролем, и вы сами решаете, какие данные он должен возвращать.
  3. Количество полей, которые имеет модель данных для каждого продукта.

Учитывая все это, если количество полей достаточно для каждого продукта, тогда я не будудумаю, что все детали продуктов можно возвращать через API products.Конкретные детали для каждого продукта должны быть возвращены products/:id API, который будет принимать ProductId в качестве параметра.

Таким образом, в этом случае, получая Id из ActivatedRoute и затем вызывая /products/:id APIполучить подробности о товаре было бы более разумно.

Если, с другой стороны, модель данных для продукта не такая уж большая, вполне можно вернуть полные сведения о продуктах через API продуктов.

Таким образом, в этом случае передача выбранных данных продукта через SharedService была бы подходом.

...