2013-02-25 13 views
31

Sono un programmatore JQuery che cerca di utilizzare AngularJS per il mio prossimo progetto. Dopo aver letto this excellent answer su come "pensare in Angular" invece di includere e utilizzare JQuery, mi chiedo quali casi di utilizzo validi esistano per l'utilizzo di JQuery + Angular. Mi piacerebbe portare un po 'di familiarità alla mia programmazione Angolare.Casi di utilizzo per l'uso di AngularJS e JQuery

Citando dal post StackOverflow:

"La linea di fondo è questa: quando solutioning, prima 'pensare in AngularJS', se non si può pensare di una soluzione, chiedere la comunità, se dopo tutto questo non esiste una soluzione facile, quindi non esitate a raggiungere il jQuery "

Quando devo raggiungere JQuery?

risposta

14

penso che le parole chiave per la citazione della tua domanda sono "* se dopo tutto quello che non v'è alcuna facile soluzione *"

Mi chiedo cosa esistono buone casi d'uso per l'utilizzo di JQuery + angolare.

Caso di utilizzo: un progetto su cui sto lavorando utilizza il componente "rivela" di Zurb Foundation per una finestra modale, che mi piace particolarmente. Si complimenta con l'app su cui sto lavorando bene. Certo, c'è un progetto di interfaccia utente angolare che presenta una finestra modale, ma in questo caso ho preferito rivelarlo.

Questo ha una dipendenza da JQuery. L'utente blesh ha risposto con ottime idee su come incorporare questo modo AngularJS here.

Dopo alcune ricerche, se si conclude che si può fare molto più facilmente in JQuery, allora fatelo, ma assicuratevi di integrare il componente in modo AngularJS.

Questa è la mia opinione comunque.

+0

+1 Esiste effettivamente una modale UI angolare nel progetto [Bootstrap] (http://angular-ui.github.com/bootstrap). Ma nessuna soluzione è giusta per tutti i casi. I componenti esistenti sono spesso una buona ragione per usare jQuery - se non è relativamente facile, perché reinventare la ruota? Mi limito a sostenere che pensiamo attentamente ai nostri casi d'uso e, come hai detto, quando usiamo * jQuery, dobbiamo essere sicuri di integrarlo correttamente. –

15

AngularJS è un framework complesso con una curva di apprendimento da moderata a ripida. JQuery non è un framework ma una libreria. Se stai cercando di creare un'app per una singola pagina, in particolare un'app CRUD, AngularJS è una buona soluzione dato che offrirà il bind di dati bidirezionale, il routing (importante per le app di una sola pagina) e molte altre funzionalità.

Utilizza jQlite un sottoinsieme di jQuery, ma è supponente su come vengono costruite le app, ciò significa che è necessaria una solida comprensione di come funziona, è necessario comprendere i controller, i servizi e le direttive e perché è necessario solo aggiornare il DOM nelle direttive.

Le app di una singola pagina possono essere eseguite utilizzando solo jQuery, ma dovrai gestire tu stesso il lato della struttura.

Se si include jQuery prima di AngularJS, verrà sostituito a jQlite, per fare i conti con i fondamenti, e quindi armarsi di conoscenza per prendere decisioni sul suo utilizzo, dare un'occhiata a questi excellent videos at egghead.io.

Quando a raggiungere per jQuery

si raggiunge per jQuery, quando non si può fare qualcosa nel modo angolare, questo è spesso quando ci si trova al confine del quadro.

Esempi:

Un esempio di questo è angolare non ha un modo per disattivare gli elementi in un elemento di selezione. Raggiungere qui jQuery per ascoltare un evento di modifica sulla selezione e manipolare l'interfaccia utente da una direttiva. Vedere l'aggiornamento sotto.

Se ad esempio si utilizza una libreria di terze parti, potrebbe essere necessario attivare un evento utilizzando jQuery e recuperarlo nel codice di terze parti o altrove. Qui troverai jQuery o qualcosa di simile a pubsub inestimabile.

UPDATE

Per quanto riguarda le funzionalità di routing, vi raccomando vivamente l'eccellente UI-Router anziché il fuori del router scatola.

UPDATE v2

angolare 1.4 ha ora il supporto per le opzioni disabilitazione in un elemento di selezione.

Problemi correlati