Зачем нам нужны услуги в угловых - PullRequest
0 голосов
/ 13 мая 2018

Итак, после прихода из React.js я начал изучать угловой. Многие вещи кажутся мне ненужными излишне сложными, например, почему мне нужно импортировать компонент в файл И в угловое приложение. Прямо сейчас, я думаю, я понял основную идею, angular - это полный пакет (или приложение), который предоставляет гораздо больше функциональных возможностей, чем React, и его нужно наградить за все его компоненты.

Но я до сих пор не понимаю, зачем нам нужны Услуги. Я понимаю идею и концепцию Сервисов, что я могу создать «UserService», который имеет все пользовательские вызовы, и внедрить его в различные компоненты. Но если я помещу все функции в обычную заливку js и импортирую их в компоненты, будет ли это так же?

Я уточню свой вопрос, есть ли какое-либо преимущество или необходимо использовать Angular Service в приложении Angular вместо обычного js fill, который экспортирует всю функциональность?

Ответы [ 2 ]

0 голосов
/ 13 мая 2018

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

При таком подходе вы используете контроллер только для управления представлениями, связывания данных, проверки форм, взаимодействия с пользователем и т. Д. И для решения проблем, связанных с тестируемостью вашего приложения Angular, поэтому вы можете писать модульные тесты (например, Karma) проще.

Контроллер является конструктором, работает как класс, и Angular создает новые экземпляры контроллера каждый раз, когда создается представление, а также уничтожает контроллер, когда представление уничтожается. Контроллер не подходит для хранения данных приложения в течение всего жизненного цикла приложения. Вот почему сервисы не должны использоваться внутри представлений напрямую, их нужно вводить в контроллер. Сервисы не должны манипулировать объектами DOM, как HTML, так и CSS.

0 голосов
/ 13 мая 2018

Сервисы одноразовые (в частности, сервисы, зарегистрированные с помощью корневого инжектора).

Некоторые причины, по которым услуги полезны:

  1. Рекомендации по отделению логики в отношении таких вещей, как HTTP-запросы, от реальных компонентов, которые должны контролировать только взаимодействие пользовательского интерфейса с данными.
  2. Injector гарантирует, что каждый компонент, который внедряется со службой, получает тот же экземпляр, следовательно, он позволяет такие вещи, как обмен данными между компонентами.
  3. Это позволяет Внедрение зависимостей
...