我正在创建一个angularjs指令作为我的其他多个指令的子指令,而不是为每个父指令设置一个单独的子指令。所有父指令都公开相同的控制器函数,因此子指令可以调用它们,而不管它们中的哪一个是父类。
要做到这一点,我知道我必须在我的单个子指令中要求所有的父指令。
... require: ['?^parent1', '?^parent2', '?^parent3', '?^parent4', '?^parent5'] ...
在我的child指令链接函数中,我将得到一个可能的父指令控制器数组。
... link: function (scope, elem, attrs, ctrls) {} ...
假设我出于某种原因嵌套了我的父指令。
<parent3><parent5><child></child></parent5></parent3>
当我在console.log中从链接函数中获取“ctrls”变量时,我得到了这个:
ctrls => [null, null, Object, null, Object]
如何确定哪个控制器来自最近的父级?
PS - 我希望我清楚自己,如果没有请求澄清:)