Сколько способов определения пользовательских директив в angularjs?

0

Я читал о том, как определить пользовательскую директиву и нашел следующий метод:

angular.module("myApp", [])
    .directive("directiveName", function () {
        return {
            // implementation code will go here
        }
    });

но недавно я нашел другой способ для определения пользовательской директивы, которая заключается в следующем:

angular.module("exampleApp", [])
    .directive("directiveName", function () {
        return function (scope, element, attrs) {
            // implementation code will go here
        }
    });

Мне интересно узнать, какой путь лучше и быстрее, чем другой? (Пожалуйста, опишите плюсы и минусы обоих, если это возможно), и есть ли еще какие-либо способы определения пользовательских директив?

  • 0
    В руководстве говорится, что лучше всего использовать объект определения, а не функцию.
Теги:

1 ответ

0

Возврат функции в директиве - это просто сокращение функции ссылки в полном определении.
Итак, если вы указываете нечто большее, чем функцию ссылки, вам нужно написать длинный путь:

angular.module("myApp", []).
    directive("directiveName", function() {
        return {
            link: function(scope, element, attrs) {
                // implementation code will go here
            },
            templateUrl: "template.html", // for example
        };
    })
;

Вместо этого, если вам просто нужна функция ссылки, вы можете использовать короткую версию:

angular.module("myApp", [])
    .directive("directiveName", function() {
        return {
            // implementation code will go here
        }
    })
;

Ещё вопросы

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