我在使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“启动画面”
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>
怎么了?
最佳答案
调用插件时,您的设备可能未准备好。尝试将您的插件调用包装在cordova或deviceready
的$ionicPlatform.ready(function() {});
事件中。在拨打电话之前,请确保设备已完全加载并且插件可用。
document.addEventListener("deviceready", function () {
$cordovaPlugin.someFunction().then(success, error);
}, false);
读取:ngCordova plugin call
关于javascript - $ cordovaImagePicker不适用于 ionic 框架,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35905137/