Ben*_*Ben 2 javascript angularjs
我在Angular的指令中看到了一个链接函数,如下所示:
link: function (scope, element, attrs, ctrls) {
var ngModelCtrl = ctrls[0],
invalidInputController = ctrls[1];
// ...
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮我理解ctrl参数中的控制器来自哪里?
编辑:该指令有一个angular require属性,按名称指定另外两个指令,如下所示:
require: ['ngModel', '?numberFormatterPreventInvalidInput'],
Run Code Online (Sandbox Code Playgroud)
我怀疑他们是从那里来的.
通常它们来自require指令的一部分,该指令是字符串或控制器数组.
['^something', '^another']
Run Code Online (Sandbox Code Playgroud)
在link他们内部访问ctrl[0]和ctrl[1].
还来自文档:
控制器和链接之间的基本区别是控制器可以公开API,链接功能可以使用require与控制器交互.
最佳实践:当您希望将API公开给其他指令时,请使用控制器.否则使用链接.
| 归档时间: |
|
| 查看次数: |
1391 次 |
| 最近记录: |