Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 返回函数在指令声明中做什么_Angularjs_Directive - Fatal编程技术网

Angularjs 返回函数在指令声明中做什么

Angularjs 返回函数在指令声明中做什么,angularjs,directive,Angularjs,Directive,我正在学习AngularJS中的指令创建 在官方文件中,它说: Best Practice: Prefer using the definition object over returning a function. 但它从未给出返回函数的示例。它总是给出返回定义对象的示例 问题:当您返回函数而不是定义对象时,指令会做什么?是的,指令没有提到任何关于返回函数的内容 但是,这确实表明: 综合指令API 指令有许多不同的选项 差异存在于工厂函数的返回值中。您可以返回定义指令属性的“指令定义对象”(

我正在学习AngularJS中的指令创建

在官方文件中,它说:

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) { ... }
});