我已经阅读了如何定义自定义指令并找到以下方法:
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 :(得分: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
}
})
;