Вызов услуг в пользовательской директиве

0

У меня есть настраиваемая директива, которая работает нормально, пока я не добавил некоторые сервисы к ней, давая мне "Ошибка: ng: areq Bad Argument", не могу понять, почему.

Моя директива:

angular.module('myApp')
    .directive('modalContent',[
        '$uibModal',
        'UserService'],
        function($uibModal, UserService){
        return {
            restrict: 'A',
            priority: 100,
            link: function($scope, element, attrs) {
                element.on( 'click', function( evt ){

                    console.log("Click and Stop");

                    evt.preventDefault()
                    evt.stopImmediatePropagation();

                    $scope.$apply(function(){
                        console.log("call Modal");
                    });

                });
            }
        };
    });
  • 0
    модуль myApp определен где-то еще?
Теги:
angularjs-directive

1 ответ

1
Лучший ответ

Попробуйте инициализировать угловой модуль перед созданием директивы:

angular.module('myApp',[]);

После этого вы можете использовать свой код.


Редактировать:

Ошибка вызвана синтаксической ошибкой, у вас есть дополнительный ] после 'UserService' правильное определение директивы:

angular.module('myApp')
    .directive('modalContent',[
        '$uibModal',
        'UserService',
        function($uibModal, UserService){
        return {
            restrict: 'A',
            priority: 100,
            link: function($scope, element, attrs) {
                element.on( 'click', function( evt ){

                    console.log("Click and Stop");

                    evt.preventDefault()
                    evt.stopImmediatePropagation();

                    $scope.$apply(function(){
                        console.log("call Modal");
                    });

                });
            }
        };
    }]);

Также обратите внимание на изменение в конце: }]); вместо });

Ещё вопросы

Сообщество Overcoder
Наверх
Меню