2015-09-11 16 views
7

Sto avviando un nuovo progetto angolare (un'applicazione a singola pagina), che avrà viste complesse (finestre di dialogo, procedure guidate, popup, caricatori), anche se i requisiti esatti non sono così chiari al momento .ui router vs ngroute per l'app sinlge page

Devo utilizzare ui.router in anticipo? O dovrei iniziare con ngRoute e passare a ui.router quando necessario?

Quali vantaggi ha ui.router su ngRoute? Quali sono le limitazioni che potrebbero indurmi a optare per ui.router?

Dalla mia ricerca sembra che ui.router faccia molto più di ngRoute, proverei a evitare la complessità il più a lungo possibile.

Ho letto What is the difference between angular-route and angular-ui-router?, ma non mi aiuta molto (essendo un noob totale angolare).

Ho ottime capacità in js, jquery, html però.

+0

Utilizzare ui-router in anticipo. È altrettanto facile da usare quanto il built-in ng-route, ma con il vantaggio che ha molte più funzioni che saranno utili in fondo alla strada. (Risoluzione dei dati prima del rendering di una vista, aggiunta di dati personalizzati a una vista ... ecc.) – skubski

+0

ma ngRoute offre tutte le stesse funzionalità per il rendering, dati personalizzati, no? – Jones

+0

Oh, lo fa. Penso che il link nel tuo thread riassuma perfettamente le funzionalità extra, specialmente le viste nidificate sono un grande vantaggio di ui-router. Dato che sai già che nella tua app hai viste complesse, perché dovresti scegliere di scegliere ng-route allora? La curva di apprendimento? Che è esattamente lo stesso in ui-route imo. – skubski

risposta

5

Suggerisco di proseguire con ui.router, perché?

  • suo complesso quasi come ngRoute

  • sarà meglio permetterà di utilizzare stessa vista in una pagina, pop-up, o un contenitore all'interno di un'altra pagina

  • codice più leggibile

    /book/{{book.name}}/chapter/{{chapter.name}}

    vs

    book.chapter ({capitolo: capitolo.name})

  • e si osserverebbe la potenza di ui.router di più, mentre ci si immerge sempre più in profondità.

Cercando di semplificare, dato che sei un "noob angolare" :-).

+0

Questo è stato davvero utile, ma avrò qualche limite di ngRoute ui.router? – Jones

+1

Nops, non ne vedo (non devi preoccuparti). – Nishant

+0

invece, ho dovuto fare soluzioni alternative, per riutilizzare le viste in una finestra modale in uno dei miei incarichi recenti.E la soluzione non era buona come quello che avrei potuto fare con ui.router. – Nishant

1

Suggerirei di iniziare con uiRouter, può fare (quasi) tutto ciò che ngRouter può fare e molto altro (ad esempio percorsi nidificati, viste ecc.). Penso che l'unica cosa che ha ngRouter, ma uiRouter non è parametri URL opzionali.

+3

non sai nulla di router ui (mi rendo conto che devi averlo molto ... comunque ne vale la pena). Se si lascia vuoto un parametro uiRouter, esso continuerà felicemente allo stato ma senza un valore per quel parametro. Puoi persino averli "fuori" dall'URL: https://github.com/angular-ui/ui-router/wiki/Quick-Reference#stateconfig – Victor