Зачем в angularjs использовать jquery?

Опыта работы с ангуларом пока нет.
В интернетах много написано, как не нужно использовать jquery вместе с angular.
Темболее, что есть встроенный jqLite.
Тем не менее, некоторые модули/плагины используют их в связке (например, ng-grid).

Возникает вопрос - есть ли что-то такое в jquery, чего прям совсем не хватает или труднореализуемо в angular,
кроме привычек мышления?

Update:
Имеетсся ввиду - ¿в каких ситуациях нехватает стандартных ангуларовских средств (templates/databinding/events/routing) и приходится использовать методы jquery или jqlite?
  • Вопрос задан
  • 6658 просмотров
Решения вопроса 2
Serhioromano
@Serhioromano
Web Developer
Если по вопросу, и нет ни каких требований, но можно вообще не использовать jQuery. По началу я я всегда включал jQuery на страницу по инерции что ли. Но со временм понял что Англяр реально хочет владеть DOM и использовать jQuery очень не просто, а лайт как уже сказано есть и в ангуляр.

С недавних пор вообще не использую jQuery в проектах на Ангуляр. И пока что не испытываю неудобств. Все легко решается модулями ангуляр, или кастом директивами. И в конце получается гораздо чище код и правильней оргинизованый. А ведь это и есть ради чего мы используем Ангуляр. Одно из его приимществ.

Так что мой ответ на "Зачем в angularjs использовать jquery?" - "Да незачем."
Ответ написан
Комментировать
miraage
@miraage
Старый прогер
Когда Вам нужна поддержка сторонних библиотек, зависимых от jQuery.
А нормальные библиотеки практически всегда используют неймспейсы для эвентов.
Выдержка из описания:

bind() - Does not support namespaces, selectors or eventData
children() - Does not support selectors
find() - Limited to lookups by tag name
next() - Does not support selectors
on() - Does not support namespaces, selectors or eventData
off() - Does not support namespaces or selectors
one() - Does not support namespaces or selectors
parent() - Does not support selectors
triggerHandler() - Passes a dummy event object to handlers.
unbind() - Does not support namespaces
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
angular - для построения приложений, jquery - для работы с DOM. Знаете, бывает такая грустная и печальная ситуация, когда в спецификациях к проекту прописывают очень грустную строчку типа "Supported browsers: IE8+ and last two versions of another browsers". И вот после того как закончишь пускать скупую слезу, открываешь консоль, переходишь в директорию проекта и пишешь: bower install --save jquery.

Суть не в дурацких jQuery плагинах (хотя и это может быть вполне себе веской причиной), а в том что jQuery предоставляет чертовски удобное API для работы с DOM, которое содержит в себе огромную кучу кастылей только ради того, что бы вы не думали о тех нюансах, которые могут вас подстерегать при казалось бы банальных вещях.

На своих проектах, которые реализуются под десктопные браузеры, я всегда подключаю jQuery, только потому что обжегся уже несколько раз при использовании API браузера в чистом виде. Иногда там такие интересные особенности закрадываются, которые без пары лет опыта работы и не узнаешь, а тратить деньги клиента только потому что "jQuery это уже не круто" и потом впустую просирать время за долгими ночными дебагами, имхо дебилизм.
Ответ написан
hell0w0rd
@hell0w0rd
Просто разработчик
Angular - это DI + директивы. Все встроенные директивы просты и под них действительно хватает JQLite. Однако есть куча готовых решений, которые возможно уже используются в проекте. Одна из фишек ангуляра - его можно начать внедрять постепенно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы