在angular指令中需要两个依赖项

时间:2014-09-05 13:30:37

标签: angularjs

可以使用require属性向自定义指令添加依赖项,例如

  

要求:' ^?form'

是否可以添加多个依赖项?

我正在编写一个指令,它需要有ngFormController以及ngModelController。

2 个答案:

答案 0 :(得分:3)

是的,使用数组:

require: [
  '^?form',
  '^otherDirective'
]

link函数上,您将收到一组控制器,而不是只有一个控制器:

link: function(scope, element, attrs, controllers) {
  // controllers[0] == formController
  // controllers[1] == otherDirectiveController 
}

答案 1 :(得分:1)

你可以在这里看到Official doc for $compile - 它很好地涵盖了指令。

require: 'siblingDirectiveName', // or // ['^parentDirectiveName', '?optionalDirectiveName', '?^optionalParent'],

如果将数组传递给require,则link函数的第四个参数将是按require指定的顺序的控制器数组。