Проще говоря, когда мы используем сервис и когда мы используем директивы в angularjs?

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

Сервис - это объект, который можно повторно использовать в приложении angular.

Директива позволяет расширять HTML новыми атрибутами.

Когда мы узнаем, что теперь нам нужно использовать директиву service and now?

директивы use для манипулирования DOM (поскольку он имеет jQLite и может компилировать шаблоны и т. д. Используйте службы для обмена данными между контроллерами (и, следовательно, между страницами). Директивы будут терять данные после перенаправления страницы. Службы теряют данные после обновления страница.

Aleksey Solovey 26.10.2018 10:28

@AlekseySolovey Спасибо. Действительно полезно

manu mehra 26.10.2018 10:47
2
2
34
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Подумайте о том, чтобы в вашем веб-приложении было две подстраницы. Обе страницы используют, например, фиктивная директива my-counter, которая отображает счетчик, который увеличивается каждый раз при создании экземпляра директивы.

Каждый раз, когда вы переключаетесь между этими страницами, счетчик на текущей странице уничтожается, и создается экземпляр счетчика на странице, на которую вы переключаетесь. Вы увидите только счетчик, отображающий 1 (или 0, в зависимости от того, когда вы его увеличите).

Сервисы выдерживают переключение страниц. В идеале они создаются только один раз и могут отслеживать общее / глобальное состояние.

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

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