2016-12-26 3 views
-1

Problem: Ich möchte Parameter z in meine URL zu übergeben /{{title}}/{{id}} der Titel Titel des Inhalts und die ID ist mongooDB ID die (indem sie vom Server) aufgelöst wird, bevor in den nächsten Zustand zu landen. Ich möchte die ID verstecken und nur Titel in der URL anzeigen möchten.Wie kann man mehrere Parameter übergeben, aber nur einen mit uiRouter anzeigen?

Erwartete Ausgabe:/xyzTitle

Stromausgang/xyzTitle/dasd123123askdasdas

Ich möchte auch die ID passieren, aber ich nicht, es zu zeigen.

Antwort

2

Ein Beispiel für einen Zustand:

.state('foo', { 
    url: '/xyzTitle/{title}', 
    params: { 
    id: null 
    } 
}) 

Dann können Sie entweder $state.go() (von einem Zustand in einen anderen von einem Controller zum Beispiel bewegt) etwa so:

$state.go('foo', { title: 'some title', id: 99 }); 

Oder Sie verwenden ui-sref von einem Zustand in einen anderen in einer schablone zu bewegen:

<a ui-sref="foo({ title: 'some title', id: 99 })">to foo</a> 

Eith So müssen Sie die Parameter in der URL nicht haben. Das Beispiel, das ich oben für den Status angegeben habe, hat den Titel in der URL, wie Sie es angefordert haben, ermöglicht Ihnen aber auch, den ID-Parameter weiterzugeben. Werfen Sie einen Blick auf die UI-Router-Dokumentation für URL Routing, es könnte ein bisschen mehr Licht auf dieses heikle Thema werfen.

Verwandte Themen