ui-sref-attivo su uno stato astratto

Ho questi routes:

  • .account /: email
  • .account.home /: email
  • .account.personal /: email / personal
  • .account.settings /: email / impostazioni

.account è uno stato astratto e .account.home è lo stato predefinito che dovrebbe andare su.

Ora se ho questo collegamento, con un ui-sref-active per aggiungere una class quando viene navigato, farò qualcosa come

 <a ui-sref-active='active' ui-sref='.account.home({email: account.email})'></a> 

l'elemento giusto è impostato con una class active quando viene cliccato (che è stato previsto), ma se ho cliccato su .account.personal viene rimosso perché non è figlio di .account.home ma un figlio di .account

Come posso impostare l' ui-sref-active per rimanere attivo al <a></a> sopra ho anche selezionato un path diverso da esso? Ma non posso collegarlo allo stato astratto poiché non possiamo navigare in uno stato astratto?

devi usare ui-sref-active come la ng-class

 <a ui-sref-active='{"active": ".account({email: account.email})" }' ui-sref='.account.home({email: account.email})' > 

la parte importnte è questa:

{"active": ".account({email: account.email})" }

che dice a ui-router di impostare la class active quando lo stato attuale è .account({email: account.email}) quindi sta ora esaminando lo stato astratto .account e non .account.home