Estou tentando redirecionar para outra rota usando:
$location.path("/route");
Mas por algum motivo não está funcionando. Fiz um widget autocompletar usando jQuery-UI e estou chamando uma função do escopo assim que o usuário seleciona uma opção. Eu depurei e ele entra na função, mas nunca é redirecionado para a outra rota. Só muda a rota quando pressiono uma tecla.
Acho meio estranho, mas ainda não descobri como resolver isso. eu usei
window.location = "#/route";
e funciona, mas eu quero usar a path()
função.
Alguém tem ideia do por que isso está acontecendo?
Não se esqueça de injetar
$location
no controlador.fonte
Supondo que você não esteja usando roteamento html5, tente
$location.path("route")
. Isso redirecionará seu navegador para o#/route
qual você deseja.fonte
Se você precisar redirecionar para fora do seu aplicativo angular, use
$window.location
. Esse foi o meu caso; espero que alguém o ache útil.fonte
Verifique seu método de roteamento:
se o seu estado de roteamento é assim
então você deve usar
fonte
É difícil dizer sem conhecer seu código. Meu melhor palpite é que o
onchange
evento não está disparando quando você altera o valor da caixa de texto do código JavaScript.Existem duas maneiras de fazer isso funcionar; o primeiro é ligar
onchange
sozinho e a segunda é esperar que a caixa de texto perca o foco.Verifique esta questão ; mesmo problema, estrutura diferente.
fonte