我正在尝试在typescript文件中使用window.devicePixelRatio但是无法使用该消息进行编译 “属性'devicePixelRatio'不存在于'Window'类型的值<”
是否有修复或者我必须使用打字稿以外的功能吗?
皮特
答案 0 :(得分:4)
您可以使用所需的功能扩展Window
界面 - 只要新的(ish)没有进入lib.d.ts
,您就可以执行此操作。您可能需要在以后将其删除到lib.d.ts
时删除您的扩展程序,但编译器会在此时向您发出警告。
interface Window {
devicePixelRatio: number;
}
var x = 1;
if (window.devicePixelRatio) {
x = window.devicePixelRatio
}
答案 1 :(得分:3)
如果适用于你,我会选择史蒂夫的解决方案。有时,视觉工作室变得古怪,并开始抱怨已经定义的变量。或者你可以随时做:
var x = 1;
var win:any = window;
if (win.devicePixelRatio) {
x = win.devicePixelRatio
}
或
var x = 1;
if ((<any>window).devicePixelRatio) {
x = (<any>window).devicePixelRatio
}