Bedingtes "anderweitiges" Routing in Angular

8

Ich bin mit der "$urlRouterProvider.otherwise('{route here}')" -Syntax in eckig vertraut, um sie in Angular UI-Router zu verwenden.

Was ich frage mich ist - gibt es eine Möglichkeit, bedingte "anders" Routing basierend auf dem übergeordneten Zustand zu tun, wenn die Route falsch eingegeben wird?

Angenommen, ich habe die folgende Konfiguration:

%Vor%

Was ich gerne hätte, ist, dass immer, wenn eine Route eingegeben wird, "/core/{route here}" ,
wenn es keinem der aktuellen Zustände entspricht, um zu '/ core / page1' zurückzuleiten, und wenn eine Route mit "/dashboard/{route here}" eingegeben wird, die keinem der aktuellen Zustände entspricht, um zu "/dashboard/page1" zurückzukehren.

Hat jemand Erfahrung damit oder eine Idee, wie ich es erreichen könnte? Ist in Angular etwas eingebaut, das diese Art von Verhalten zulässt?

Vielen Dank im Voraus!

    
Jonathan 24.06.2015, 11:52
quelle

1 Antwort

15

Wie hier gezeigt

Wie kann man die URL nicht ändern, wenn die Fehlerseite 404 mit dem ui-Router angezeigt wird

Das .otherwise() muss keine Zeichenfolge (URL) sein ... es könnte ein intelligenter Entscheidungsträger sein:

%Vor%

Das Dokument:

$ urlRouterProvider.otherwise (Regel)

  

Definiert einen Pfad, der verwendet wird, wenn eine ungültige Route angefordert wird.

     

string - Der URL-Pfad, an den Sie umleiten möchten, oder eine Funktionsregel, die den URL-Pfad zurückgibt.
  Die Version function wird an zwei Parameter übergeben: $ injector und $ location services und müssen eine URL-Zeichenfolge zurückgeben.

    
Radim Köhler 24.06.2015, 11:56
quelle