2015-06-03 1 views
10

Qui sotto puoi vedere il mio codice per la direttiva.Utilizzo di Jquery nella direttiva AngularJS buona o cattiva idea?

La mia domanda è: "Posso usare jQuery con le direttive che è una buona idea se non perché???"

outsource.directive('dedicated', function(){ 

     return { 
      restrict: 'E', 
      link: function(scope, element, attribute){ 

       $("#klik").click(function(){ 
        alert('works'); 
       }); 

      }, 

      replace: true, 
      templateUrl: 'src/app/components/views/dedicated-prices.html' 
     }; 
    }); 

P.S questo codice funziona.

+2

Dipende solo da quanto ti piacerebbe "scappare" da 'jQuery'. Ho visto su molti argomenti SO che alle persone piace scegliere di usare 'AngularJS' * o *' jQuery', ma non entrambi. Aggiungere 'jQuery' alla regia è" non così male "(non è comunque la scelta migliore) ma aggiunge un'altra dipendenza ... –

risposta

5

Non si dovrebbe utilizzare jquery in quanto Angular ha una versione più leggera per il suo nome jqlite.

Altro documentazione su JQLITE

Così la vostra direttiva dovrebbe essere simile:

outsource.directive('dedicated', function(){ 

    return { 
     restrict: 'E', 
     link: function(scope, element, attribute){ 

      var elem = angular.element(document.querySelector('#klik')) 
      angular.element(elem).triggerHandler('click'); 

     }, 

     replace: true, 
     templateUrl: 'src/app/components/views/dedicated-prices.html' 
    }; 
}); 
+0

Puoi usare o. Non dovrebbe essere un problema quindi dipende da te se scegli jqLite o jQuery – Lau

+0

Esiste documentazione o esempi più dettagliati su jqlite su Internet? O forse un libro? –

+0

ng-book è sicuramente la prima tappa che suggerirei. Permettetemi di trovare alcuni link di youtube per il link di y – V31

1

Domanda interessante. Ho alcune jquery con la selezione degli elementi in alcune direttive/controller nella mia base di codice.

Mi sento sempre sporco usandolo e lo faccio solo quando ne ho davvero bisogno, sfortunatamente è quasi sempre una bomba a tempo e mi porta a maledirmi da solo qualche mese e ad usare un metodo più angoloso.

Avere un ultimo sguardo per vedere se c'è un modo nativo angolare di fare quello che stai cercando di fare, voi non ve ne pentirete!

2

Risposta semplice: SI (semplicemente fare riferimento jquery.js sopra Angular.js nella pagina HTML jqLite sarà sostituito da jQuery.)

si sarebbe utilizzando jQuery per manipolazione del DOM & ci sono molte discussioni in corso questo argomento (se usare o meno nei browser moderni).

Uno dei posti popolari nelle recentdays: http://lea.verou.me/2015/04/jquery-considered-harmful/

Nonostante tutto, jQuery è ancora molto popolare, biblioteca DOM altamente utilizzato. E, funziona perfettamente con molti moderni framework UI.

+0

Quindi, buona idea o cattiva idea? – technophyle

+1

Jquery è una buona libreria per la manipolazione di Dom. Non mi sento male ad usarlo. E i progetti che ho utilizzato utilizzano Jquery con angular.js – Navaneeth

+0

questa è sicuramente una pessima idea, dopo un anno di esperienza in Angular questa è una pessima idea .... (usa jquery con angolare) solo se hai bisogno di qualche tipo di cursore che non riesci a trovare in angolare –