如何在不使用element.on的情况下编写此指令 - 不使用jquery

时间:2013-04-29 14:21:33

标签: angularjs angularjs-directive

我想在没有jQuery的情况下编写这个指令。

受此SO question的启发,我试图摆脱不需要它的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
                })
            });
        }
    };
});

谢谢!

1 个答案:

答案 0 :(得分:3)

要删除对JQuery的依赖,您需要替换

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

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

angular的jquery lite实现的所有文档都可以在

下找到

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