2016-05-10 2 views
1

StaatenLink zu einem Kind Zustand mit einem param mit ui-sref

.state('event.detail', { 
    url: '/:id', 
    views: { 
     'event-detail': { 
      controller: EventDetail, 
      templateUrl: ... 
     } 
    } 
}) 
.state('event.detail.info', { 
    url: '/info', 
    views: { 
     'event-info': { 
      templateUrl: ... 
     } 
    } 
}) 
.state('event.detail.map', { 
    url: '/map', 
    views: { 
     'event-map': { 
      templateUrl: ... 
     } 
    } 
}) 

ui-sref

<a ui-sref="event.detail({id: event.id}).map">Map</a> 

Das gibt mir einen Invalid state ref Fehler.

+0

Was möchten Sie erreichen? event.detail.map akzeptiert keine Parameter, daher der Fehler. –

+0

Ich möchte für jedes Ereignis ein paar verschiedene Registerkarten mit Details anzeigen können. z.B. '/ event/1/info','/event/1/map', '/ event/2/info','/event/2/map' usw. und können direkt mit '/ map' verlinken '/ event' – barro32

+0

Wie wäre es mit' event/map/1', 'event/info/2' usw. und übergeben Sie einen Param an den Kind-Zustand, genau wie der Eltern-Staat? –

Antwort

1

Sie sind fast da ... gerade noch der Name Zustand ist, dann ist die Parameter

// instead of this 
<a ui-sref="event.detail({id: event.id}).map">Map</a> 
// create this 
<a ui-sref="event.detail.map({id: event.id})">Map</a> 

Es ist übergebene Objekt irgendwie ähnlichQ & A, wo ich this plunker geschaffen, die das zeigen soll alles in Aktion (auch mit Elternteil params und Kind hat sein eigenes)

+0

Danke, das funktionierte für die Änderung der richtigen URL, aber jetzt läuft mein Controller aus irgendeinem Grund nicht. Ich habe das Q mit ein bisschen mehr Info aktualisiert. – barro32

+0

Ich kann keine Probleme sehen, Controller sollte aufgerufen werden ... Könnten Sie einen einfachen Plocker erstellen oder meins anpassen? Ich bin bereit zu helfen ... –

+0

Ich habe es von meiner Version ein bisschen vereinfacht, aber das sollte ähnlich genug sein, was ich habe. http://pnnr.co/edit/5tnEUndo6LMYigPXBoUX – barro32

Verwandte Themen