在另一个需要一个指令控制器

时间:2013-03-03 09:00:59

标签: angularjs angularjs-directive

这些是我试图在另一个指令中使用一个指令的控制器的方法。

1)http://jsfiddle.net/Xarm2/1/

2)http://jsfiddle.net/82UKq/1/

在两个案例中,您可以在firebug控制台中看到,必需指令的控制器是undefined或空对象。

1)如何在d2指令中访问'd1Cntrl'。

2)请告诉我一个需要我在另一个指令中要求指令控制器的用例。

2 个答案:

答案 0 :(得分:1)

  1. directive to directive communication

  2. 上查看John Lindquist的精彩截屏视频
  3. 例如,如果您有一个输入元素,您希望应用两个自定义验证,其中一个验证应仅在第一次验证通过时运行(例如,模式匹配验证应仅在元素具有值时激活)。

答案 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级别创建新范围,则strengthflight等兄弟指令共享同一范围。

3)如果我们在另一个指令中需要一个指令控制器,那么使用this关键字在指令控制器上定义的api将暴露给require指令。请注意,控制器范围$scope中定义的方法不可见。

如果句子错误或分数错误,请随时编辑。