AngularJS vs (AnguarJS + jQuery)

Ho una domanda sulle prestazioni quando usi AngularJS solo con JavaScript puro e quando usi AngularJS con jQuery.

ex:

app.directive('fitHeight', function($window) { return { restrict: 'A', link: function(s){ s.contentminHeight = $window.innerHeight - 40 + 'px'; var h = $window.innerHeight; $(window).resize(function() { if ( h !== $window.innerHeight ) { h = $window.innerHeight; s.contentminHeight = ( h - 40 ) + 'px'; s.$apply(); } }); } }; }); 

Ho visto come la verifica con AngularJS di $ ridimensionamento della finestra è deprecata, e altre opzioni era quella di creare un intervallo per controllare, ho trovato jquery.resize più accettabile.

o

 app.directive('leftmenuDropdown', function() { return { restrict: 'C', link: function(s, e){ e.click(function(){ var m = $(e.parent().find("ul")[0]); if ( m.hasClass('dd-open') ) { m.removeClass('dd-open') } else { m.addClass('dd-open') } }); } }; }); 

Cerco su google e ho capito che .hasClass è più veloce del puro JavaScript.

A proposito di prestazioni, cosa dovrei fare? Per mantenere jQuery con AngularJS o per utilizzare solo AngularJS con JS puro?

Angularjs viene fornito con jqLite

  • Puoi avere quasi tutte le funzionalità necessarie in esso, resto ho creato un’applicazione con jQuery + Angular e ho avuto conflitti molte volte mentre l’app usciva dall’ambito di angular.

Angolare è molto popolare

  • Troverai supporto per ciò che ottieni per jQuery, puoi iniziare con angular (jqLite) stesso.

Prestazione

  • naturalmente caricare due librerie / framework pesanti e mantenere il loro equilibrio ti costerà di più.

Stavo cercando le prestazioni della query DOM delle librerie e ho visto i risultati seguenti:

 vanilla - document.getElementById('test-table') => 12,137,211 (ops/sec) Dojo - dojo.byId('test-table') => 5,443,343 (ops/sec) Prototype - $('test-table') => 2,940,734 (ops/sec) jQuery - $('#test-table') => 350,557 (ops/sec) YUI - YAHOO.util.Dom.get('test-table') => 326,534 (ops/sec) MooTools - document.id('test-table') => 78,802 (ops/sec) 

puoi trovare altri dettagli sul rendimento qui . questo è più o meno l’idea delle prestazioni di nativo più che il confronto tra librerie / framework. Ma devi anche considerare le specifiche come il cross-browser e l’ambiente che usi. In generale, Angular ti lega ai suoi stessi metodi (come le direttive) sulle operazioni DOM, e nel sistema angular che modifica DOM con jquery o funzioni native può causare malfunzionamenti. Se sai cosa fai, il numero sopra mostra i risultati delle prestazioni