打字稿是一種類型語言。因此,無論何時使用任何基於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 我相信,它會解決你的問題。 –