我们想要使用地理位置 API访问用户的位置。
这段代码片段可以正常工作:
VSCode没有显示任何错误或警告,但是Angular CLI抛出了以下错误:
如何正确使用该API中的该类型和其他类型?
这段代码片段可以正常工作:
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition((position: GeolocationPosition) => console.log(position));
}
VSCode没有显示任何错误或警告,但是Angular CLI抛出了以下错误:
该项目使用以下内容:Cannot find name 'GeolocationPosition'.
navigator.geolocation.getCurrentPosition((position: GeolocationPosition) => console.log(position));
- Angular 11.0.6
- tslib 2.0.0
- ts-node 8.3.0
- tslint 6.1.0
- typescript 4.0.2
如何正确使用该API中的该类型和其他类型?
navigator.geolocation.getCurrentPosition((position) => console.log(position));
。这样,TS会自动正确设置类型。 - Owen Kelvinthis.log(position);
,而方法的定义如下:log(position: GeolocationPosition): void { console.log(position); }
,我仍然需要在函数定义中指定类型。如果我只是使用log(position) { }
,编译器会报错说缺少position
的类型,当我添加:any
时,方法中的类型变为未知。希望你能理解我的困境,@OwenKelvin - lampshade