在 TypeScript 中创建 Location 对象

Riv*_*ivi 4 location href angularjs typescript

我无法将 Angular 之外的应用程序重定向到注销页面。我正在使用它$window.location.href,但它在 FireFox 上不起作用。所以,有人建议$window.location直接使用,但由于我是用 Typescript 编写的,所以我需要创建一个新的 Location 对象,而不是只将我的字符串分配给它......

我查看了 lib.d.ts,发现该位置声明为:

declare var Location: {
    prototype: Location;
    new(): Location;
}
Run Code Online (Sandbox Code Playgroud)

所以我将代码调整为:

var url: string = "http:\\\\host:port/blabla/logout";
var loc: Location = new Location();
loc.href = url;
this.$window.location = loc;
Run Code Online (Sandbox Code Playgroud)

但得到这个错误:

Error: Illegal constructor.
Run Code Online (Sandbox Code Playgroud)

知道如何创建 Location 对象吗?这样做是一个好的做法吗?也许还有其他见解吗?

谢谢

rtp*_*tpg 5

实际上看起来你不应该构建新的Location对象。所以我认为没有可用的构造函数可以实现此目的。尽管您可以使用锚点来为您构建它们

如果您尝试设置新位置,则可以使用设置window.location.href而不是window.location这两个是等效的)。