Estoy tratando de redirigir a otra ruta usando:
$location.path("/route");
Pero por alguna razón no funciona. Hice un widget de autocompletar usando jQuery-UI y estoy llamando a una función desde el alcance una vez que el usuario selecciona una opción. Lo depuré y entra en la función pero nunca se redirige a la otra ruta. Solo cambia la ruta cuando presiono una tecla.
Creo que es un poco extraño, pero no he descubierto cómo solucionarlo. solía
window.location = "#/route";
y funciona pero quiero usar la path()función.
¿Alguien tiene alguna idea de por qué está sucediendo esto?

No olvide inyectar
$locationen el controlador.fuente
Suponiendo que no está utilizando el enrutamiento html5, intente
$location.path("route"). Esto redirigirá su navegador a lo#/routeque podría ser lo que desea.fuente
Si necesita redirigir fuera de su aplicación angular, use
$window.location. Ese fue mi caso; con suerte, alguien lo encontrará útil.fuente
Verifique su método de enrutamiento:
si su estado de enrutamiento es así
.state('app.register', { url: '/register', views: { 'menuContent': { templateUrl: 'templates/register.html', } } })entonces deberías usar
$location.path("/app/register");fuente
Es difícil de decir sin conocer su código. Mi mejor suposición es que el
onchangeevento no se activa cuando cambia el valor del cuadro de texto del código JavaScript.Hay dos formas de que esto funcione; la primera es llamar
onchangeusted mismo y la segunda es esperar a que el cuadro de texto pierda el foco.Marque esta pregunta ; mismo tema, marco diferente.
fuente