AngularJS и jQuery в одном проекте
От: DemAS http://demas.me
Дата: 27.12.14 18:53
Оценка:
Немного общий вопрос. А насколько принято одновременное использование AngularJS и jQuery в одном проекте?

Просто начал изучать Angular и регулярно сталкиваюсь с тем, что в некоторых моментах (в основном в манипуляциях с DOM и анимациях) хочется использовать jQuery. Это нормально или все-таки следует искать решение средствами Angular, раз он все-равно используется ?
Re: AngularJS и jQuery в одном проекте
От: dimgel Россия https://github.com/dimgel
Дата: 27.12.14 18:55
Оценка:
Здравствуйте, DemAS, Вы писали:

DAS>Немного общий вопрос. А насколько принято одновременное использование AngularJS и jQuery в одном проекте?


Я юзал их вместе. Никаких проблем. У них разные задачи.
Re: AngularJS и jQuery в одном проекте
От: monax  
Дата: 27.12.14 22:13
Оценка: 2 (1)
Здравствуйте, DemAS, Вы писали:

DAS>Немного общий вопрос. А насколько принято одновременное использование AngularJS и jQuery в одном проекте?


angular сам использует jquery, если тот есть

Does Angular use the jQuery library?

Yes, Angular can use jQuery if it's present in your app when the application is being bootstrapped. If jQuery is not present in your script path, Angular falls back to its own implementation of the subset of jQuery that we call jQLite.


DAS>Просто начал изучать Angular и регулярно сталкиваюсь с тем, что в некоторых моментах (в основном в манипуляциях с DOM и анимациях) хочется использовать jQuery. Это нормально или все-таки следует искать решение средствами Angular, раз он все-равно используется ?


с другой стороны:

Common Pitfalls

The Angular support channel (#angularjs on Freenode) sees a number of recurring pitfalls that new users of Angular fall into. This document aims to point them out before you discover them the hard way.
DOM Manipulation

Stop trying to use jQuery to modify the DOM in controllers. Really. That includes adding elements, removing elements, retrieving their contents, showing and hiding them. Use built-in directives, or write your own where necessary, to do your DOM manipulation. See below about duplicating functionality.


Ну и там по списку, где не нужно использовать jquery по мнению разработчиков ангуляра — https://docs.angularjs.org/misc/faq
Re: AngularJS и jQuery в одном проекте
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 29.12.14 00:09
Оценка:
Здравствуйте, DemAS, Вы писали:

DAS>Немного общий вопрос. А насколько принято одновременное использование AngularJS и jQuery в одном проекте?


DAS>Просто начал изучать Angular и регулярно сталкиваюсь с тем, что в некоторых моментах (в основном в манипуляциях с DOM и анимациях) хочется использовать jQuery. Это нормально или все-таки следует искать решение средствами Angular, раз он все-равно используется ?


Если говорим о jquery в чистом виде, то он в angular не нужен. Вместо манипуляция с dom и обработки событий надо использовать контроллеры, анимация уровня голого jquery прекрасно делается в css и связывается через angular.

А вот если берем jqueryUI, то он на две головы превосходит то, что может angular. Поэтому часто с помощью jqueryui делаются виджеты (или берутся готовые), которые потом оборачиваются в кастомные директивы angular.

В общем картина выглядит так:
1) jquery+ui используется для создания визуальных компонент
2) angular — для композиции приложений из компонент и привязки к данным.
Re: AngularJS и jQuery в одном проекте
От: n0dwis Украина  
Дата: 29.12.14 06:56
Оценка:
Здравствуйте, DemAS, Вы писали:

DAS>Немного общий вопрос. А насколько принято одновременное использование AngularJS и jQuery в одном проекте?


AngularJS без jQuery не работает вообще. Использует либо существующую в проекте версию jquery, либо встроенную в него версию jqlite. Более того, функция angular.element(...) — это просто обертка вокруг $(....). Так что совместное использование не только принято, но и обязательно.

Другое дело, что чаще всего для манипуляции с DOM и обработки событий проще использовать angular, чем руками показывать/скрывать поля и т.п. Angular — более высокоуровневая библиотека, чем jQuery. Хотя в некоторых случаях без него (jquery) не обойтись. Скажем, в написании своих директив манипулирующих DOM или, как уже писали, jQueryUI. Но, повторюсь, желательно к jQuery напрямую не обращаться, если это вдруг понадобилось — подумайте еще раз, возможно, есть способ решения через angular. Причем способ более наглядный, быстрый и простой.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.