Javascript AngularJS-如何使用“获取指令中的指令控制器”;要求;
我有一个要求的指令。现在我想在link函数中获得所需的控制器实例和指令的控制器。这怎么可能?如果我设置'require',link函数的第四个参数只包含所需的控制器。如果我没有设置要求,link函数的第四个参数包含指令的控制器。如何获得两者?您应该需要两者,那么第四个参数将是控制器数组(与所需指令的顺序相同) 例如,从Angular的Javascript AngularJS-如何使用“获取指令中的指令控制器”;要求;,javascript,angularjs,angularjs-directive,angularjs-controller,Javascript,Angularjs,Angularjs Directive,Angularjs Controller,我有一个要求的指令。现在我想在link函数中获得所需的控制器实例和指令的控制器。这怎么可能?如果我设置'require',link函数的第四个参数只包含所需的控制器。如果我没有设置要求,link函数的第四个参数包含指令的控制器。如何获得两者?您应该需要两者,那么第四个参数将是控制器数组(与所需指令的顺序相同) 例如,从Angular的ngModel指令的源代码(需要访问NgModelController及其包装表单的FormController): var ngModelDirective =
ngModel
指令的源代码(需要访问NgModelController
及其包装表单的FormController
):
var ngModelDirective = function() {
return {
require: ['ngModel', '^?form'],
controller: NgModelController,
link: function (scope, elem, attrs, ctrls) {
...
var modelCtrl = ctrls[0],
formCtrl = ctrls[1] || nullFormCtrl;
...