我有一个指令,然后作为其模板的一部分使用内部指令。当我的内部指令中发生某件事时,我想调用父指令范围内的函数。我认为指令上 scope
属性的“&”适合这种情况。但是,当我尝试调用该函数时,父指令中的函数永远不会被调用。请参阅此处的 jsFiddle:http://jsfiddle.net/hdm3Q/
调试时,我发现内部指令的作用域中的$parent
与父指令的作用域不同。直到我执行了 scope.$parent.$parent
后,我才找到了外部指令的作用域。那么,为什么这里有这个额外的范围呢?如何在我的父作用域上调用该函数。我真的很想在这些指令中拥有独立的范围。任何对此的帮助将不胜感激。
最佳答案
parentFunction
和 parent-function
之间的名称转换正在进行。
在您的指令中,您应该使用带连字符的名称版本。 此规则适用于所有 Angular html 属性。
<div child parent-function="parentFunction()"></div>
工作 fiddle :http://jsfiddle.net/p2dtC/
关于javascript - 为什么我的父指令和子指令之间有额外的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13075683/