我有一个指令,然后作为其模板的一部分使用内部指令。当我的内部指令中发生某种事情时,我想在父指令的范围内调用一个函数。我以为'&'对于这种情况,指令上的scope
属性。但是,当我尝试调用该函数时,父指令中的函数永远不会被调用。在这里查看jsFiddle:http://jsfiddle.net/hdm3Q/
调试时,我发现内部指令范围的$parent
与父指令的范围不同。直到我scope.$parent.$parent
我找到了外部指令的范围。那么,为什么这个额外的范围呢?如何在父作用域上调用该函数。我真的很想在这些指令中有孤立的范围。对此有任何帮助将非常感激。
答案 0 :(得分:1)
正在发生parentFunction
和parent-function
之间的名称翻译。
在您的指令中,您应该使用名称的连字符版本。 此规则适用于所有角度html属性。
<div child parent-function="parentFunction()"></div>