在没有angular的情况下,它可以正常工作:
<button onclick="getPhoto(pictureSource.PHOTOLIBRARY);">From Photo Album</button>
<script type="text/javascript">
function onPhotoURISuccess(imageURI) {
alert(imageURI)
}
function getPhoto(source) {
navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50,
destinationType: destinationType.imageURI,
sourceType: source });
}
function onFail(message) {
alert('Failed because: ' + message);
}
</script>但是当我尝试使用angular 2时,我的代码不能工作:
<button (click)="getPhoto(pictureSource.PHOTOLIBRARY)">From Photo Album</button>
getPhoto(source) {
alert(111);
navigator.camera.getPicture(this.onSuccess, this.onFail, { quality: 50,
destinationType: navigator.camera.DestinationType.imageURI,
sourceType: source });
}
onSuccess(imageData) {
this.photo = imageURI;
}
onFail(message) {
alert('Photo not loaded, because: ' + message);
}当我点击按钮时,getPhoto函数不起作用。因为函数中有pictureSource.PHOTOLIBRARY。
发布于 2016-01-18 18:32:36
此API可能未由Angulars专区打补丁。尝试显式使用zone
constructor(private zone: NgZone) {}
getPhoto(source) {
alert(111);
zone.run(() => {
navigator.camera.getPicture(this.onSuccess, this.onFail, { quality: 50,
destinationType: navigator.camera.DestinationType.imageURI,
sourceType: source });
});
}(虽然不确定语法是否正确,但我不是TS开发人员)
https://stackoverflow.com/questions/34852464
复制相似问题