我有一个使用指令的指令:
<parent-directive onsuccess="callback(param)">
<nested-directive onsuccess="callback(param)">
</nested-directive>
</parent-directive>
嵌套指令使用$parse()
来评估函数:
link:function(scope, element, attrs)
{
var fn = $parse(attrs.onsuccess);
fn(scope, {param: "myParam"});
}
我的问题:如何将函数设置为更高的一个指令(在父指令中),以便可以在父指令的范围内设置该函数(这将创建它自己的范围)
答案 0 :(得分:1)
New Dev帮助了我。
就像添加:
一样简单范围:{onsuccess:“&amp;”}
答案 1 :(得分:0)
您可以使用&#39;要求&#39; &#34; nestedDirective&#34;中的配置属性配置设置。这将使您能够访问&#34; parentDirective&#34;。
的控制器{
require: '^parentDirective',
link: function (scope, element, attrs, parentCtrl) {
parentCtrl.exec($parse(attrs.onsuccess))
}
}
实施&#39; exec&#39;在parentDirective的控制器中运行,它将在其范围内执行此传递的函数。