Wie integrieren Phonegap Kamera mit AngularJS

Ich versuche, herauszufinden, die best-practice für die Integration von phonegap Kamera mit AngularJS. Die erste Methode, die ich ausprobiert habe, war die Erstellung einer Fabrik mit dem Versprechen, die aufgerufen wird von ng-click. Ein anderer Weg könnte sein, den code direkt in die ng-klicken Sie in der Steuerung, aber dann ist es nicht wiederverwendbar. Vielleicht eine Richtlinie sein könnte, aus diesem? Ich bin sicher, es gibt ein paar andere Möglichkeiten als gut. Was wäre die "angularjs" Weg sein?

Hier ist ein Beispiel für die factory-Methode, die ich ausprobiert....

HTML:

<button ng-click="takepic">Take Picture</button>

Controller:

function picturePageCtrl($scope, Camera) {
    $scope.takepic = function() {
        //I'd like to push this into an array of "pics" here.
        //but it is hard to push() with promises.
        Camera.getPic();
    }
}

Werk:

.factory('Camera', function($q) {
    var deferred = $q.defer();
    return {
        getPic: function() {
            navigator.camera.getPicture(
                function (imageURI) {
                    deferred.resolve(imageURI);
                },
                function (message) {
                    deferred.reject(message);
                },
                {
                    quality: 50, 
                    destinationType: Camera.DestinationType.FILE_URI
                }
            );
            return deferred.promise;
        }
    }
})
Schreibe einen Kommentar