Я читал о том, как определить пользовательскую директиву и нашел следующий метод:
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
}
});
Мне интересно узнать, какой путь лучше и быстрее, чем другой? (Пожалуйста, опишите плюсы и минусы обоих, если это возможно), и есть ли еще какие-либо способы определения пользовательских директив?
Возврат функции в директиве - это просто сокращение функции ссылки в полном определении.
Итак, если вы указываете нечто большее, чем функцию ссылки, вам нужно написать длинный путь:
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
}
})
;