Угловой v4: храним ли мы данные в Сервисе или Компоненте или в обоих?
Просмотрев довольно много учебников, а также прочитав документацию Angular, я до сих пор не понимаю эту тему.
https://angular.io/tutorial/toh-pt2 Угловое руководство четко показывает данные, хранящиеся в компоненте.
https://angular.io/guide/architecture#services Угловая архитектура> Раздел служб показывает код с услугой, имеющей массив данных (это правильно?).
Если мы будем хранить данные в Компонентах, мы бы сильно использовали @Input и @Output для перемещения данных между дочерними компонентами (если мы хотим, чтобы эти данные были в интерфейсе), однако это создает проблему, когда мы используем маршрутизацию, нам нужен наш новый компонент который загружается с маршрутизатора-выхода, чтобы сделать новый звонок нашему сервису за обещание сделать вызов API нашему серверу для хранения данных. Возможно, в этом случае у нас будет 2 компонента, содержащие одни и те же данные - однако они могут не совпадать.
Если мы храним данные в Сервисе, мы будем в значительной степени использовать наши Службы для извлечения данных и манипулирования данными (если мы хотим, чтобы эти данные были в интерфейсе), таким образом, наша служба содержит 1 набор данных, и каждый компонент может вызвать услугу данных в любое время для получения согласованных данных.
-
Каков надлежащий способ хранения данных? Разве один из других не рекомендуется?