Angular JS - Использование сервисов для хранения \ обмена данными

Я работаю над некоторым Angular JS SPA .

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

Мне нужно держать и делиться любым REST-ответом и получать снова по требованию.

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

Пожалуйста, совет, основанный на вашем опыте.

Благодарю.

2 ответа

AngularJS имеет сервис $ cacheFactory, который вы можете использовать для управления данными. В приведенном мной примере они создают "сервис" с помощью $ cacheFactory. Я сделал нечто подобное в приложении, которое я создал, где я создал "сервис кэширования", в котором есть методы, которые я предоставляю для добавления / удаления элементов из кэша $ cacheFactory (данные, которые я получил по вызовам $ http).

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

РЕДАКТИРОВАТЬ

Вы также можете посмотреть на использование $ resource, который имеет встроенную поддержку кеширования. Не уверен, что конкретно требуется вашему приложению, но если вы чувствуете, что вам нужно поддерживать кеш самостоятельно, воспользуйтесь сервисом. Если каждая служба будет поддерживать свою собственную логику кеширования, это, скорее всего, станет проблемой позже, если что-то изменится.

Да Сервис лучше всего подходит для хранения ваших данных или обмена данными между контроллерами.

Спасибо

Другие вопросы по тегам