2016-05-19 23 views
6

Ho uno "stato" di stato astratto con un insieme di bambini definiti utilizzando stringhe, come "settings.personal", "settings.business" e presto. Devo controllare un controller condiviso di livello superiore se lo stato corrente è figlio di uno stato di "impostazioni" astratto.Come verificare se lo stato corrente in ui-router è figlio di uno stato astratto

Non riesco a capire come controllare questo? Ho provato ad usare $state.is sperando che sia abbastanza intelligente da rilevare questo, ma sembra che non lo sia.

$state.is("settings") # => false 
$state.is("settings.personal") # => true 

Quindi, qualche altra idea?

risposta

7

Ok, ora vedo che c'è anche il metodo $state.includes che fa esattamente quello che volevo.

Lascerò questa domanda alla comunità per giudicare se vale la pena conservare o dovrebbe essere cancellata.

+0

Grande, esattamente quello che stavo cercando. Controlla 'https: // github.com/angular-ui/ui-router/wiki/Quick-Reference' per maggiori informazioni. – hogan