我有一个代码浏览文件系统,并使用ionic和angularjs从库中选择图像。我目前的挑战是图像在选择时显示,有时在选择时不显示。从我的结果看,一切似乎都没问题,因为我已经检查过以确保所有插件和依赖项都被使用。以下是我的源代码,如果您能提供帮助,我们将非常高兴: 这是我的controllers.js代码:::
angular.module('appControllers', [])
.controller('HomeCtrl', ['$scope', '$rootScope', '$cordovaCamera', function($scope, $rootScope, $cordovaCamera) {
$scope.ready = false;
$scope.images = [];
$rootScope.$watch('appReady.status', function() {
console.log('watch fired '+$rootScope.appReady.status);
if($rootScope.appReady.status) $scope.ready = true;
});
$scope.selImages = function() {
var options = {
quality: 50,
destinationType: Camera.DestinationType.FILE_URI,
sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
targetWidth: 200,
correctOrientation: true,
targetHeight: 200
};
$cordovaCamera.getPicture(options).then(function(imageUri) {
console.log('img', imageUri);
$scope.images.push(imageUri);
}, function(err) {
// error
});
};
}])
这是我的app.js代码:
.run(function($rootScope,$ionicPlatform) {
$rootScope.appReady = {status:false};
$ionicPlatform.ready(function() {
console.log('ionic Ready');
$rootScope.appReady.status = true;
$rootScope.$apply();
console.log('in app.js, appReady is '+$rootScope.appReady.status);
// if(window.cordova && window.cordova.plugins.Keyboard) {
// cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
// }
if(window.StatusBar) {
StatusBar.styleDefault();
}
});
});
答案 0 :(得分:1)
要选择一个或多个图像,您可以使用“ImagePicker插件”。 在此插件中,您可以设置要选择的图像数量,并在最后它正常工作。 https://github.com/wymsee/cordova-imagePicker。 例 - >
ast.If
示例 - 获取最多10个缩放到宽度为800的图像:
window.imagePicker.getPictures( function(results) { for (var i = 0; i < results.length; i++) { console.log('Image URI: ' + results[i]); } }, function (error) { console.log('Error: ' + error); } );
答案 1 :(得分:0)
我能够使用$scope.$apply();
函数