想知道是否有人可以解释当前的行为。
我有一个具有隔离范围的指令,称之为 dirA。然后我在上面添加了另一个指令,dirB。期望第二个指令获取isolate指令创建的每个范围。
dirB 获取控制器范围。为什么它不能获得 dirA 为该元素创建的相同隔离范围?
谢谢你的帮助。我真的没有任何代码,只是好奇。如果有人需要两个小指令和一些 html 来帮助可视化,我当然会的。谢谢。
您观察到的情况是正确的,这种行为是设计使然。
当指令请求隔离范围时,AngularJS 会专门为该指令创建一个范围,not对于声明该指令的元素。换句话说,隔离是针对每个指令的,而不是针对每个元素的。这使得编写可重用和独立的指令比必须防止对其他指令的隔离范围的不当使用要容易得多。
在同一元素上声明的所有其他指令共享外部范围。 (还值得注意的是,这些指令甚至无法请求自己的作用域,无论是否隔离。虽然由于错误而在 1.3 之前无法保证此行为,但它已经fixed https://github.com/angular/angular.js/commit/2cde927e58c8d1588569d94a797e43cdfbcedaf9在 1.3 中。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)