2017-09-27 82 views
0

我正在使用下面的代碼來查看連接在usb端口上的設備。在編譯時,當我在命令提示符中運行'ng serve'命令時,出現錯誤「屬性usb在類型導航器上不存在」。屬性「usb」在angular2 typescript項目的「Navigator」類型中不存在

ngOnInit() { 
    async() => { 
     let devices = await navigator.usb.getDevices(); 
     devices.forEach(device => { 
      // Add |device| to the UI. 
      console.log(device); 
     }); 
    } 
} 

回答

1

如果您確信navigator.usb存在,可以擴展接口,包括它的一些類型的信息:

interface Navigator { 
    usb: { 
     getDevices(): any[]; 
    } 
} 

這將解決在編譯時錯誤(但會導致運行時錯誤如果usb不在那裏)。

的接口需要被放置在同一個共同的根......所以如果你是一個模塊中,您可能需要使用:

declare global { 
    interface Navigator { 
     usb: { 
      getDevices(): any[]; 
     } 
    } 
} 
相關問題