打字稿是一种类型语言。因此,无论何时使用任何基于JavaScript的库/插件,您都必须确保提供相应的类型。
在这里,您已经使用了导航器,它实际上是JavaScript或Cordova已知的,但不知道导致此错误的Typescript。
有两种方法可以解决这个问题。
- 安装相应的类型定义。 (http://definitelytyped.org/)
- 声明导航器为任何类型。
@Component({
selector: 'app',
template: `<button type="button" (touchend)="onCamera($event)">Camera</button>`
})
export class AppComponent {
public onCamera(event) {
const cameraOptions = {
destinationType: (<any>Camera).DestinationType.FILE_URI
};
(<any>navigator).camera.getPicture(cameraSuccess, cameraError, cameraOptions);
}
}
或
declare var navigator: any;
declare var Camera: any;
@Component({
selector: 'app',
template: `<button type="button" (touchend)="onCamera($event)">Camera</button>`
})
export class AppComponent {
public onCamera(event) {
const cameraOptions = {
destinationType: Camera.DestinationType.FILE_URI
};
navigator.camera.getPicture(cameraSuccess, cameraError, cameraOptions);
}
}
我想上面的例子,但我仍面临着同样的问题。错误:无法找到名称'相机'。 任何其他建议。 –
使用上面的代码,你会得到错误在浏览器控制台或生成错误?如果您在浏览器控制台中出现错误,请确定您是否在config.xml中启用了Camera插件 –
似乎您也正在使用Camera常量(Camera.destinationType.FILE_URI等)。你能否声明相机也一样。 declare var Camera:any;或(相机).destinationType.FILE_URI 我相信,它会解决你的问题。 –