2017-02-28 6 views
0

Ich versuche, eine Möglichkeit zum Umleiten auf die Indexroute zu finden, wenn die Elternroute zugreifen, aber nicht umleiten, wenn ein Benutzer auf die Route parent.child1 oder parent.child2 zugreifen.Redirect to Index nur übergeordnete Route

Ist so etwas möglich?

this.route('parent', function() { 
     this.route('child1'); 
     this.route('child2'); 
}); 
+0

Es wäre besser, wenn Sie Ihr Problem beschreiben könnten und wie Sie denken, dass dies das Problem lösen könnte. –

Antwort

0

Setzen Sie Ihre Umleitung Zustand innerhalb parentbeforeModel Haken Route.

Bitte beziehen Sie sich auf die Antwort von Lux. Erstellen Sie eine index Route unter Ihren Eltern Route verwenden,

ember g route parent/index 

Und setzen Sie dann Ihre Umleitung Logik innerhalb der übergeordneten/beforeModel Haken Index Route.

Meine vorherige Antwort wird nicht funktionieren, weil sie untergeordnete Route blockieren.

+0

Dies verhindert, dass Sie 'child1' oder' child2' eingeben. – Lux

+0

Kann die Route nur umgeleitet werden, wenn bestimmte Bedingungen erfüllt sind, sonst nichts tun? –

+0

Ja, Lux hat Recht, er kann es auch innerhalb der 'parent.index' Route tun. In diesem Fall muss er jedoch eine neue "Index" -Route generieren, da sie noch nicht existiert. –

1

Wenn ich Dich richtig verstehe wollen Sie diese:

Wenn der Benutzer in der parent Route ist aber nicht in den child1 und nicht in dem child2 Weg zum index Route umleiten.

Dazu müssen Sie verstehen, dass Sie eine implizite parent.index Route haben. Also mit Ihrer Route Definition, dies sind Ihre Routen:

  • index
  • parent.index
  • parent.child1
  • parent.child2

Sie können nicht einfach sein, in der Route parent! Sie sind immer entweder in parent.index, parent.child1 oder parent.child2.

Also ich denke, was Sie wollen, ist von parent.index zu index umleiten.

Dafür erstellen Sie einfach die app/routes/parent/index.js Route, und in der beforeModel Hook Call this.transitionTo('index');.

+0

Danke, genau das, was ich wollte! – jpoiri

Verwandte Themen