2016-08-27 2 views
0

У меня есть простое приложение todo и оно подключено к базе данных (пример сценария).угловой 2 должны храниться объекты/данные внутри службы или компонента

У меня есть httpService, который выполняет все операции CURD. Теперь у меня вопрос:

Должен ли найденный массив todo храниться внутри самой службы или внутри todo.component? Я прошу об этом в целях согласованности.

Я прочитал руководство и сервисы стиля john papa, которые должны обрабатывать логику, в то время как компоненты только просматривают связанные вещи, но на самом деле не отвечают на вопросы.

В некоторых онлайн-учебники это было сделано путем сохранения массива в два раза, один раз в службе и один раз в компоненте ...

Спасибо за разъяснение!

ответ

1

На самом деле, я думаю, что этот стиль руководства отвечает на вопросы. Я объясню:

  • услуги должны обращаться с логикой, и, как таковые, они несут ответственность за выборки данных (а не хранить). Но что, если вы хотите реализовать кэширование на стороне клиента? то вы можете сделать это в службе.

  • Компоненты необходимы для хранения данных вида (для его отображения). поэтому большую часть времени вам нужно будет хранить данные в частной переменной, чтобы они могли отображаться в шаблоне.

Надеюсь, что он разъясняет роли.

+0

Эй, Саги, спасибо за ваш быстрый ответ. Чтобы уточнить, будет ли я развертывать кеширование на стороне клиента, я бы использовал данные, хранящиеся внутри службы, для установки или извлечения данных? Это будет означать, чтобы поддержать руководство по стилю хранения логики в службах, которые мне нужны для поддержания и синхронизации двух массивов? –

+0

Идея кэширования - это просто иллюстрировать. Лучшим примером может быть какая-то фильтрация, например, получить только активные записи (на уровне услуг). О кешировании - лучше реализовать с Observables, как здесь: http://www.syntaxsuccess.com/viewarticle/caching-with-rxjs-observables-in-angular-2.0 – Sagi

Смежные вопросы