angularjs - Creando un objeto Location en TypeScript
Tengo problemas para redirigir mi aplicación fuera de Angular a la página de cierre de sesión. Lo estoy haciendo usando $window.location.href pero no funciona en FireFox. Entonces, hubo una sugerencia de usar $window.location directamente, pero como estoy escribiendo en Typescript necesito crear un nuevo objeto Location en lugar de simplemente asignarle mi cadena...
Examiné lib.d.ts y vi que location está declarado como:
declare var Location: {
prototype: Location;
new(): Location;
}
así que ajusto mi código a:
var url: string = "http:"\host:port/blabla/logout";
var loc: Location = new Location();
loc.href = url;
this.$window.location = loc;
pero obtuve este error:
Error: Illegal constructor.
¿Alguna idea de cómo crear el objeto Location? ¿Es una buena práctica hacerlo? ¿Algún otro comentario quizás?
Gracias
Respuesta #1
De hecho, parece que no se supone que debas crear nuevos objetos Location. Así que no creo que haya un constructor disponible en ninguna parte para esto. Aunque puedes usar anclas para que los construyan por ti.
Si estás tratando de establecer una nueva ubicación, puedes optar por establecer window.location.href en lugar de window.location (Estos dos son equivalentes).
Respuesta #2
Si quieres asignar un String directamente y simplemente hacer que TypeScript esté de acuerdo con eso, puedes hacer
window.location = <any>"http://host:port/blabla/logout";
