Por que você deve usar AngularJS com jQuery

O mito de não precisar usar jQuery com aplicativos AngularJS se espalha como um vírus.

Por que você provavelmente deve usar jQuery junto com AngularJS :

jQuery tem um propósito diferente do AngularJS. AngularJS é uma estrutura que fornece estrutura para seu aplicativo. jQuery é uma biblioteca de manipulação DOM que abstrai as diferenças da API do navegador.

AngularJS usa jQuery / jqLite embaixo para suas diretivas nativas (todos ng- *), porque jQuery faz bem a manipulação de DOM. É por isso que os criadores do AngularJS decidiram usar jQuery para fazer isso em primeiro lugar.

Então, sim, você deve usar jQuery em seu aplicativo AngularJS. O que é ruim é fazer a manipulação de DOM (usando jQuery ou qualquer outro) dentro de controladores / serviços. Você deve sempre fazer a manipulação do DOM apenas nas diretivas.

Abaixo, colei o conteúdo da diretiva do estilo ng . Como você pode ver, ele está usando jQuery (ou versão simplificada – jqLite):

var ngStyleDirective = ngDirective(function(scope, element, attr) {
scope
.$watch(attr.ngStyle, function ngStyleWatchAction(newStyles, oldStyles) {
if (oldStyles && (newStyles !== oldStyles)) {
forEach
(oldStyles, function(val, style) {
element
.css(style, '');
});
}
if (newStyles) element.css(newStyles);
}, true);
});

Se você precisar fazer qualquer manipulação DOM que ng- * não forneça, você também pode se beneficiar do uso do jQuery para abstrair as diferenças do navegador e se concentrar no seu problema. Não há nada de errado nisso.

A maior sobreposição funcional de jQuery e AngularJS são eventos e algumas funções de utilitário. Quanto aos eventos, eu recomendo o uso de eventos AngularJS para controlar facilmente o ciclo de vida dos componentes, já que o Lodash parece mais útil.