2 votes

Comment puis-je écrire cette directive sans utiliser element.on - ne pas utiliser jQuery

Je voudrais écrire cette directive sans utiliser jQuery.

Inspiré par cette question SO, j'essaie de me débarrasser de jQuery là où ce n'est pas nécessaire ou où je peux le faire d'une autre manière. . .

 MyApp.directive('myCamera', function () {
    return {
        restrict: 'A',
        require: 'ngModel',
        link: function(scope, element, attrs, ctrl) {
            element.on('click', function() {
                navigator.camera.getPicture(function (imageURI)
                {
                    scope.$apply(function() {
                        ctrl.$setViewValue(imageURI);
                    });
                }, function (err) {
                    ctrl.$setValidity('error', false);
                },
                //Options => http://docs.phonegap.com/en/2.6.0/cordova_camera_camera.md.html#Camera
                { quality: 50,
                  destinationType: Camera.DestinationType.FILE_URI
                })
            });
        }
    };
});

Merci!

3voto

ganaraj Points 14228

Pour supprimer la dépendance à JQuery, vous devez remplacer

element.on('click',fn(){});

par

element.bind('click',fn(){});

Toute la documentation sur l'implémentation de la version allégée de JQuery d'Angular est disponible sous

http://docs.angularjs.org/api/angular.element

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X