Angularjs 返回函数在指令声明中做什么
我正在学习AngularJS中的指令创建 在官方文件中,它说:Angularjs 返回函数在指令声明中做什么,angularjs,directive,Angularjs,Directive,我正在学习AngularJS中的指令创建 在官方文件中,它说: Best Practice: Prefer using the definition object over returning a function. 但它从未给出返回函数的示例。它总是给出返回定义对象的示例 问题:当您返回函数而不是定义对象时,指令会做什么?是的,指令没有提到任何关于返回函数的内容 但是,这确实表明: 综合指令API 指令有许多不同的选项 差异存在于工厂函数的返回值中。您可以返回定义指令属性的“指令定义对象”(
Best Practice: Prefer using the definition object over returning a function.
但它从未给出返回函数的示例。它总是给出返回定义对象的示例
问题:当您返回函数而不是定义对象时,指令会做什么?是的,指令没有提到任何关于返回函数的内容
但是,这确实表明:
综合指令API
指令有许多不同的选项
差异存在于工厂函数的返回值中。您可以返回定义指令属性的“指令定义对象”(见下文),也可以仅返回postLink
函数(所有其他属性都将具有默认值)
下面是一个例子(见底部的注释)
这是postlink函数。。。看看这个答案。。。我学了很多新的东西
var myModule = angular.module(...);
myModule.directive('directiveName', function factory(injectables) {
var directiveDefinitionObject = {
link: function postLink(scope, iElement, iAttrs) { ... }
};
return directiveDefinitionObject;
// or
// return function postLink(scope, iElement, iAttrs) { ... }
});