2014-12-17 4 views
8

Wie funktionieren abstrakte Zustände? Was ist der Zweck der abstrakten Registerkarten? Welchen Zweck hat die Vorlage in der Registerkarte "Abstrakt"? Kann ich mehr als einen abstrakten Status haben? Kann ich von einem Zustand in einen anderen wechseln, die sich in verschiedenen abstrakten Zuständen befinden?Wie funktionieren abstrakte Zustände in Ionic?

Ich modifizierte die app.js, um 2 abstrakte Zustände von der Standard-Registerkarte Vorlage zu haben. https://gist.github.com/ashoksahoo/6bcad2c62e1abaa3de74

Aber ich kann nicht index.html#/friend/:id working bekommen, und FriendDetailCtrl feuert auch nicht.

Antwort

3

In abstrakte Zustände kann nicht navigiert werden. Ihr Zweck besteht darin, dass mehrere (nicht abstrakte) Staaten ein gemeinsames Elternteil teilen, ohne dass ein Elternstaat definiert werden muss, zu dem navigiert werden kann.

Dies kann in vielen Situationen nützlich sein. Siehe hier: https://github.com/angular-ui/ui-router/wiki/Nested-States-%26-Nested-Views#abstract-states

Sie können viele abstrakte Zustände haben. Sie können $ state.go() verwenden, um zwischen zwei beliebigen Zuständen zu wechseln, auch wenn sie unterschiedliche Eltern haben, abstrakt oder nicht.

Ihre URL index.html#/friend/:id sieht seltsam aus. tab.trends hat ein Argument. Freund nicht.

Die richtige URL für die Freunde Zustand ist: /#/tab/friends/1234

Für den Freund Zustand (kein Argument!): /#/friend

+0

Ja '/ #/tab/Freunde /' funktioniert dann '/ #/friend' soll ein abstrakter Zustand sein, und "/ #/friend/1234" sollte ein Freundschaftsstatus sein, anstatt ein Kindstatus von Tab zu sein. –

+0

/#/Freund/1234 ist kein Staat./#/friend/ist der Staat, die Zahl ist nur ein Parameter für den Staat. Und wie Sie den Staat deklariert haben, braucht er keine Parameter. –

+0

Ist es möglich, einen abstrakten Zustand in einem abstrakten Zustand zu haben? – shruti