这些是我试图在另一个指令中使用一个指令的控制器的方法。
1)http://jsfiddle.net/Xarm2/1/
2)http://jsfiddle.net/82UKq/1/
在两个案例中,您可以在firebug控制台中看到,必需指令的控制器是undefined
或空对象。
1)如何在d2
指令中访问'd1Cntrl'。
2)请告诉我一个需要我在另一个指令中要求指令控制器的用例。
答案 0 :(得分:1)
例如,如果您有一个输入元素,您希望应用两个自定义验证,其中一个验证应仅在第一次验证通过时运行(例如,模式匹配验证应仅在元素具有值时激活)。
答案 1 :(得分:0)
很少有人认为我想把它放在这里
1)指令没有创建自己的范围,例如。
<superhero strength>The Hulk</superhero>
<superhero flight speed strength>Superman</superhero>
<superhero speed>The Flash</superhero>
除非我们在scope:true
定义中明确说明scope:{}
或superhero
,否则这三个指令将共享相同的范围。如果我们没有创建新的范围,那么最后一个超级英雄将会生效。
2)如果我们在superhero
级别创建新范围,则strength
,flight
等兄弟指令共享同一范围。
3)如果我们在另一个指令中需要一个指令控制器,那么使用this
关键字在指令控制器上定义的api将暴露给require指令。请注意,控制器范围$scope
中定义的方法不可见。
如果句子错误或分数错误,请随时编辑。