Mam ten prosty stan:
.state("search", {
url: "/search",
templateUrl: "views/search.html",
controller: "search"
})
I chciałbym przekazać jakieś dodatkowe nieplanowany parametry do kontrolera podczas używania search
stan lub /search
trasa :
ui-sref="search({foo:1, bar:2})"
// would call "#/search?foo=1&bar2",
// match the state and pass foo and bar to the controller (through $stateParams)
Gdy spróbuję, zamiast tego pasuje do routera. :(
Przeczytałem wiele rozwiązań, które sugerują zadeklarowanie każdego parametru w stanie:
.state("search", {
url: "/search?param1¶m2¶m3?...",
})
Ale nie mogę tego zrobić, o ile lista parametrów nie jest tak naprawdę zdefiniowana i zmienia się cały czas w zależności od wyszukiwanej treści.
Czy istnieje sposób na osiągnięcie tego? A może gdzieś się mylę?
Dzięki.
EDYTOWAĆ : Kiedy próbuję zadzwonić bezpośrednio na ten adres URL: #/search?foo=1
, Stan search
pasuje, ale foo
parametr nigdy nie przechodzi do $ stateParams, który jest pusty. Nie wiem jak to zrobić.
Odpowiedzi:
-1 dla odpowiedzi nr 1.state("search", {
params: ["param1","param2","param3"],
templateUrl: "...",
controller: "..."
});
ui-sref="search({param1:1, param2:2})"
Kredyt trafia do Parametry stanów bez adresów URL w routerze interfejsu użytkownika dla AngularJS