$ cordovaImagePicker不适用于Ionic-Framework

时间:2016-03-10 00:04:44

标签: javascript angularjs ionic-framework cordova-plugins ngcordova

我在使用我的离子应用中获取Image Picker ngCordova插件时遇到问题。每当我在android(我的设备和模拟器)中调用函数getPictures()时,应用程序都会崩溃。该功能在仿真器中的IOS上运行,但在IOS设备上不运行。我已经尝试卸载并重新安装该插件,甚至制作一个示例hello world应用程序,以查看我的原始项目中是否有某些内容正在弄乱它。然而,这没有奏效。

当我调用函数getPictures

时,我一直收到这个TypeError
  

[console.error] TypeError:无法读取属性'getPictures'   未定义

这是我的控制器,我从网站上复制并粘贴:

.controller('ThisCtrl', ['$scope', '$cordovaImagePicker', function($scope, $cordovaImagePicker) {

$scope.getImages = function() {

  var options = {
   maximumImagesCount: 10,
   width: 800,
   height: 800,
   quality: 80
  };

  $cordovaImagePicker.getPictures(options)
    .then(function (results) {
      for (var i = 0; i < results.length; i++) {
        console.log('Image URI: ' + results[i]);
      }
    }, function(error) {
      // error getting photos
    });

  }
}])

我安装的插件:

  

cordova-plugin-console 1.0.2“控制台”
  cordova-plugin-device 1.1.1“设备”
  cordova-plugin-image-picker 1.0.8“ImagePicker”
  cordova-plugin-splashscreen 3.1.0“Splashscreen”
  cordova-plugin-statusbar 2.1.1“StatusBar”
  cordova-plugin-whitelist 1.2.1“白名单”
  ionic-plugin-keyboard 1.0.8“键盘”

我确保我的index.html中有ngCordova

<script src="lib/ngCordova/dist/ng-cordova.js"></script>
<script src="cordova.js"></script>

出了什么问题?

1 个答案:

答案 0 :(得分:0)

调用插件时,您的设备可能尚未就绪。尝试在cordova或deviceready的{​​{1}}事件中包装您的插件调用。它确保设备完全加载,并且在拨打电话之前插件可用。

$ionicPlatform.ready(function() {});

阅读:ngCordova plugin call