在navigator.camera.getPicture中丢失"此"上下文

2020-08-18 03:23发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) SAPUI5 Cordova函...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


SAPUI5 Cordova函数navigator.camera.getPicture如何在当前上下文中传递?

例如,我要将" this"传递给this.onImageCapture,它作为变量" a"传递-到目前为止,还不错...

但是,当调用navigator.camera.getPicture时,仅显示imageData。

如果我添加任何参数。 例如

  navigator.camera.getPicture(this.onImageSuccess(a)......
 

我没有传递imageData。

此外,由于无法将诺言附加到该函数,因此也无法将其添加到navigator.camera.getPicture。

如何访问当前上下文(this)和imageData?

  handleMenuItemPress:function(oEvent){

         var msg ="";

         msg = oEvent.getParameter(" item")。getValue();
         if(msg ===" Camera"){
             this.onImageCapture(this);
         }
         否则,如果(msg ==="图库"){
                 this.onImageSelect(this);
         }
     }

 onImageCapture:function(a){
         var self = a;
         navigator.camera.getPicture(this.onImageSuccess,this.onImageFail,{
            //品质:75,
             质量:10,
             targetWidth:300,
             targetHeight:300,
             sourceType:navigator.camera.PictureSourceType.CAMERA,
             destinationType:navigator.camera.DestinationType.FILE_URI
         });
     },

 onImageSuccess:function(imageData){
    //无法访问此
     },
3条回答
木偶小白
2020-08-18 03:35 .采纳回答

嗨,亚当,

在使用javascript时,我也为此感到困惑。 一种方法是直接对函数进行编码,而不是使用回调函数。

 onImageCapture:function(a){
         var self = a;
         navigator.camera.getPicture(
 函数(imageData){
 ->自我将可访问
 }
 ,
 this.onImageFail,{
            //品质:75,
             质量:10,
             targetWidth:300,
             targetHeight:300,
             sourceType:navigator.camera.PictureSourceType.CAMERA,
             destinationType:navigator.camera.DestinationType.FILE_URI
       });
 },
 

一周热门 更多>