1

我正在尝试在打字稿文件中使用 window.devicePixelRatio 但这无法编译并显示消息“属性'devicePixelRatio'不存在于类型'Window'的值”

是否有修复或我必须只使用打字稿之外的功能?

皮特

4

2 回答 2

4

Window您可以使用您需要的功能扩展界面 - 只要有新的(ish)没有进入lib.d.ts. 您可能需要稍后删除您的扩展,lib.d.ts但编译器会在那时警告您。

interface Window {
    devicePixelRatio: number;
}

var x = 1;

if (window.devicePixelRatio) {
    x = window.devicePixelRatio
}
于 2013-04-10T12:34:41.970 回答
3

如果它适合你,我会选择史蒂夫的解决方案。有时 Visual Studio 会变得古怪并开始抱怨已经定义的变量。或者,您可以随时执行以下操作:

var x = 1;
var win:any = window;

if (win.devicePixelRatio) {
    x = win.devicePixelRatio
}

或者

var x = 1;

if ((<any>window).devicePixelRatio) {
    x = (<any>window).devicePixelRatio
}
于 2013-04-11T06:40:00.667 回答