2014-12-17 18 views
8

Come funzionano gli stati astratti? Qual è lo scopo delle schede astratte? Qual è lo scopo del modello incluso nella scheda astratta? Posso avere più di uno stato astratto? Posso passare da uno stato all'altro in stati astratti diversi?Come gli stati astratti funzionano in ionico?

Ho modificato l'app.js per avere 2 stati astratti dal modello di tab predefinito. https://gist.github.com/ashoksahoo/6bcad2c62e1abaa3de74

Ma non posso ottenere index.html#/friend/:id working, e FriendDetailCtrl non è anche di cottura.

risposta

3

Gli stati astratti non possono essere spostati. Il loro scopo è di avere diversi stati (non astratti) che condividono un genitore comune, senza dover definire uno stato genitore a cui è possibile navigare.

Questo può essere utile in molte situazioni. Vedi qui: https://github.com/angular-ui/ui-router/wiki/Nested-States-%26-Nested-Views#abstract-states

È possibile avere molti stati astratti. Puoi usare $ state.go() per passare da uno stato all'altro, anche se hanno genitori diversi, astratti o meno.

Il tuo URL index.html#/friend/:id sembra strano. tab.triends ha una discussione. l'amico no.

L'URL corretto per lo stato gli amici è: /#/tab/friends/1234

per l'amico dello stato (nessun argomento!): /#/friend

+0

Sì '/ #/scheda/amici /' 'funziona allora/#/friend' dovrebbe essere uno stato astratto, e '/ #/friend/1234' dovrebbe essere uno stato amico invece di essere uno stato secondario di tab. –

+0

/#/amico/1234 non è uno stato./#/amico/è lo stato, il numero è solo un parametro per lo stato. E il modo in cui hai dichiarato lo stato, non richiede alcun parametro. –

+0

È possibile avere uno stato astratto all'interno di uno stato astratto? – shruti