Javascript 我怎样才能找出哪一个角度指令父级更接近?

Javascript 我怎样才能找出哪一个角度指令父级更接近?,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我正在创建一个angularjs指令作为多个其他指令的子指令,而不是为每个父指令创建一个单独的子指令。所有父指令都公开相同的控制器函数,因此子指令可以调用它们,而不管其中哪一个是父指令 要做到这一点,我知道我必须在我的单子指令中要求所有的父指令 ... require: ['?^parent1', '?^parent2', '?^parent3', '?^parent4', '?^parent5'] ... 在我的子指令链接函数中,我将获得一个可能的父指令控制器数组 ... link: fun

我正在创建一个angularjs指令作为多个其他指令的子指令,而不是为每个父指令创建一个单独的子指令。所有父指令都公开相同的控制器函数,因此子指令可以调用它们,而不管其中哪一个是父指令

要做到这一点,我知道我必须在我的单子指令中要求所有的父指令

... require: ['?^parent1', '?^parent2', '?^parent3', '?^parent4', '?^parent5'] ...
在我的子指令链接函数中,我将获得一个可能的父指令控制器数组

... link: function (scope, elem, attrs, ctrls) {} ...
假设我出于某种原因嵌套了父指令

<parent3><parent5><child></child></parent5></parent3>
如何确定哪个控制器来自最近的父控制器


PS-我希望我能说清楚,如果不是,请要求澄清:

坦率地说,如果你需要那么多控制器,并且事先不知道它们的顺序,这似乎是一个设计缺陷。我不会说这是一个设计缺陷,但我发现这不是一个角度的方式。。。我可以将一个目标属性放在子指令范围内,但希望避免这种情况。我寻找相同的东西:|我在定义指令时自然地定义了x和data-x属性,如果用户同时定义了container和data container指令,我希望知道我的哪些容器更接近:|
ctrls => [null, null, Object, null, Object]