/ / Angularjs ui-router - passa parâmetros extras 'não planejados' - angularjs, angular-ui-router

Angularjs ui-roteador - passe parâmetros extras 'não planejados' - angularjs, angular-ui-roteador

Eu tenho este estado simples:

.state("search", {
url: "/search",
templateUrl: "views/search.html",
controller: "search"
})

E eu gostaria de passar qualquer extra nao planejado parâmetros para o controlador ao usar search estado ou /search rota :

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)

Quando tento fazer isso, ele corresponde ao contrário do roteador. :(

Eu li muitas soluções que implicam em declarar cada parâmetro no estado:

.state("search", {
url: "/search?param1&param2&param3?...",
})

Mas não posso fazer isso porque a lista de parâmetros não está realmente definida e muda o tempo todo dependendo do conteúdo pesquisado.

Existe uma maneira de conseguir isso ? Ou estou errado em algum lugar?

THX.


EDITAR : Quando tento ligar diretamente para este url: #/search?foo=1, o Estado search corresponde, mas o foo parâmetro nunca vai para $ stateParams que está vazio. Não sei como metê-lo.

Respostas:

-1 para resposta № 1
.state("search", {
params: ["param1","param2","param3"],
templateUrl: "...",
controller: "..."
});

ui-sref="search({param1:1, param2:2})"

O crédito vai para Parâmetros para estados sem URLs em ui-router para AngularJS