2013-10-15 19 views
34

Ho cercato una risposta valida a questo dilema, per instradareProvider o non farlo.

Sembra che $ routeProvider sarà presto interrotto e sostituito con $ stateProvider sfortunatamente non conosco l'accuratezza di questa dichiarazione più stateProvider è ancora disponibile solo tramite il plugin ui_router.

È il piano per aggiungere StateProvider come parte di AngularJS Core? Si può ipotizzare che presto sostituirà il vecchio $ routeProvider?

Certamente non funzionano bene insieme e l'elemento della migrazione che ho trovato in github non funziona e manca di documentazione.

+0

Stavi cercando una risposta più specifica? – mfollett

risposta

35

Dopo un tempo molto lungo abbiamo deciso di mordere il proiettile e migrare da 1.1.1 a 1.2. Allo stesso tempo ci siamo resi conto di quanto $ routerProvider sia limitato, quindi siamo andati con l'ui-router. Finora, ci piace, ti permette di fare un po 'di nidificazione complessa nelle viste e aggiungere un po' più di struttura alla tua app, ad esempio, in $ stateProvider puoi definire onEnter e onExit che ti permette di modificare i tuoi dati e ripristinarli una volta usciti, è possibile anche eseguire la transizione per lo stato che è estremamente potente. Voterò che l'ui-router faccia parte del core Angular e addirittura sostituisca $ routeProvider. Spero che questo ti aiuti a prendere una decisione. $ routeProvider funziona ancora, se hai un'app di base o una pagina demo.

+0

Qualche idea se l'ui-router raggiungerà il core angolare? – Nikos

+1

Ci sono sicuramente ottimi piani per miglioramenti nel core router in 2.0 https://docs.google.com/document/d/1I3UC0RrgCh9CKrLxeE4sxwmNSBl3oSXQGt9g3KZnTJI/edit – JeremyWeir

+1

Attenzione! $ stateProvider è ancora in sviluppo ACTIVE, assicurati di leggere le modifiche quando la prossima versione di angular.js è fuori e vedi le modifiche su di esso –

10

Abbiamo iniziato con $ routeProvider e siamo passati a $ stateProvider per sfruttare alcune delle funzionalità fornite da ui-router. Quando abbiamo spostato la migrazione era assolutamente banale. Detto questo, l'ui-router è ancora molto presto (dal loro GitHub page):

Avviso: UI-Router è pre-beta e in fase di sviluppo attivo. Pertanto, mentre questa libreria è ben testata, l'API è soggetta a modifiche. Non è consigliabile utilizzarlo in un progetto che richiede stabilità garantita.

Stick con $ routeProvider fino a quando non si decide di aver bisogno di qualcos'altro. Fino ad allora, assicurati di ottenere una buona copertura di test in modo che i cambiamenti del genere non siano troppo importanti.

Problemi correlati