Angular UI-Router, wie erhält man eine Liste der Vorfahren des aktuellen Status vom Controller?

8

Meine Statushierarchie ist (von oben nach unten):

  1. root
  2. account
  3. account.invoices
  4. account.invoices.detail

Wenn ich in account.invoices.detail state bin, möchte ich eine Liste der Ahnenstaaten erhalten:

%Vor%

Angular UI Router ermöglicht Ihnen den Übergang in den übergeordneten Status (dh aus einer Ansicht mit data-ui-sref="^" ), also sollte es möglich sein, dies zu erreichen (Folge der Kette der Vorfahren bis zu root ).

Ich brauche das, um eine Auto-Breadcrumbs-ähnliche Funktionalität zu erstellen.

BEARBEITEN : endete damit, dank der akzeptierten Antwort:

%Vor%

Wenn Sie fragen, warum die Überprüfung für parent.name.length ist, weil es in Angular UI so etwas wie einen "root" -Zustand gibt (über den es keine Dokumentation gibt).

    
gremo 19.02.2015, 13:01
quelle

2 Antworten

11

Schauen Sie sich $state.$current.includes an; Es scheint, ein Objekt mit Schlüsseln zurückzugeben, die dem aktuellen und dem übergeordneten Status entsprechen. Ich glaube, das sind alles Zustände, die einen $state.includes() Test bestehen würden.

    
JcT 19.02.2015, 13:27
quelle
1

In Ihrem Controller:

%Vor%     
Wawy 19.02.2015 13:23
quelle