2

このディレクティブを jQuery なしで書きたいと思います。

このSOの質問に触発されて、必要のない場所や別の方法でできる場所でjqueryを取り除こうとしています。. .

 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
                })
            });
        }
    };
});

ありがとう!

4

1 に答える 1

3

JQuery への依存を削除するには、置き換える必要があります。

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

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

angular の jquery lite 実装に関するすべてのドキュメントは、以下で入手できます。

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

于 2013-04-29T14:52:49.727 に答える