【问题标题】:Phonegap pictureSource.PHOTOLIBRARY doesn't work with angularPhonegap pictureSource.PHOTOLIBRARY 不适用于角度
【发布时间】:2016-01-18 10:29:09
【问题描述】:

没有角度也可以正常工作:

<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。

【问题讨论】:

    标签: javascript angular cordova


    【解决方案1】:

    这个 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 开发人员)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-14
      • 2019-07-21
      • 2018-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多